ModifyInstanceSpec.go 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. // Copyright 2018 JDCLOUD.COM
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. //
  15. // NOTE: This class is auto generated by the jdcloud code generator program.
  16. package apis
  17. import (
  18. "github.com/jdcloud-api/jdcloud-sdk-go/core"
  19. )
  20. type ModifyInstanceSpecRequest struct {
  21. core.JDCloudRequest
  22. /* 地域代码,取值范围参见[《各地域及可用区对照表》](../Enum-Definitions/Regions-AZ.md) */
  23. RegionId string `json:"regionId"`
  24. /* RDS 实例ID,唯一标识一个RDS实例 */
  25. InstanceId string `json:"instanceId"`
  26. /* 扩容后实例规格 */
  27. NewInstanceClass string `json:"newInstanceClass"`
  28. /* 扩容后实例磁盘大小 */
  29. NewInstanceStorageGB int `json:"newInstanceStorageGB"`
  30. /* 存储类型,如果不指定,默认会采用实例原存储类型. (Optional) */
  31. NewInstanceStorageType *string `json:"newInstanceStorageType"`
  32. /* 实例数据加密(存储类型为云硬盘才支持数据加密). false:不加密; true:加密. 如果实例从本地盘变为云硬盘,缺省为false. 如果实例本来就是使用云硬盘的,缺省和源实例保持一致 (Optional) */
  33. StorageEncrypted *bool `json:"storageEncrypted"`
  34. /* 变配后的子网ID (Optional) */
  35. SubnetId *string `json:"subnetId"`
  36. }
  37. /*
  38. * param regionId: 地域代码,取值范围参见[《各地域及可用区对照表》](../Enum-Definitions/Regions-AZ.md) (Required)
  39. * param instanceId: RDS 实例ID,唯一标识一个RDS实例 (Required)
  40. * param newInstanceClass: 扩容后实例规格 (Required)
  41. * param newInstanceStorageGB: 扩容后实例磁盘大小 (Required)
  42. *
  43. * @Deprecated, not compatible when mandatory parameters changed
  44. */
  45. func NewModifyInstanceSpecRequest(
  46. regionId string,
  47. instanceId string,
  48. newInstanceClass string,
  49. newInstanceStorageGB int,
  50. ) *ModifyInstanceSpecRequest {
  51. return &ModifyInstanceSpecRequest{
  52. JDCloudRequest: core.JDCloudRequest{
  53. URL: "/regions/{regionId}/instances/{instanceId}:modifyInstanceSpec",
  54. Method: "POST",
  55. Header: nil,
  56. Version: "v1",
  57. },
  58. RegionId: regionId,
  59. InstanceId: instanceId,
  60. NewInstanceClass: newInstanceClass,
  61. NewInstanceStorageGB: newInstanceStorageGB,
  62. }
  63. }
  64. /*
  65. * param regionId: 地域代码,取值范围参见[《各地域及可用区对照表》](../Enum-Definitions/Regions-AZ.md) (Required)
  66. * param instanceId: RDS 实例ID,唯一标识一个RDS实例 (Required)
  67. * param newInstanceClass: 扩容后实例规格 (Required)
  68. * param newInstanceStorageGB: 扩容后实例磁盘大小 (Required)
  69. * param newInstanceStorageType: 存储类型,如果不指定,默认会采用实例原存储类型. (Optional)
  70. * param storageEncrypted: 实例数据加密(存储类型为云硬盘才支持数据加密). false:不加密; true:加密. 如果实例从本地盘变为云硬盘,缺省为false. 如果实例本来就是使用云硬盘的,缺省和源实例保持一致 (Optional)
  71. * param subnetId: 变配后的子网ID (Optional)
  72. */
  73. func NewModifyInstanceSpecRequestWithAllParams(
  74. regionId string,
  75. instanceId string,
  76. newInstanceClass string,
  77. newInstanceStorageGB int,
  78. newInstanceStorageType *string,
  79. storageEncrypted *bool,
  80. subnetId *string,
  81. ) *ModifyInstanceSpecRequest {
  82. return &ModifyInstanceSpecRequest{
  83. JDCloudRequest: core.JDCloudRequest{
  84. URL: "/regions/{regionId}/instances/{instanceId}:modifyInstanceSpec",
  85. Method: "POST",
  86. Header: nil,
  87. Version: "v1",
  88. },
  89. RegionId: regionId,
  90. InstanceId: instanceId,
  91. NewInstanceClass: newInstanceClass,
  92. NewInstanceStorageGB: newInstanceStorageGB,
  93. NewInstanceStorageType: newInstanceStorageType,
  94. StorageEncrypted: storageEncrypted,
  95. SubnetId: subnetId,
  96. }
  97. }
  98. /* This constructor has better compatible ability when API parameters changed */
  99. func NewModifyInstanceSpecRequestWithoutParam() *ModifyInstanceSpecRequest {
  100. return &ModifyInstanceSpecRequest{
  101. JDCloudRequest: core.JDCloudRequest{
  102. URL: "/regions/{regionId}/instances/{instanceId}:modifyInstanceSpec",
  103. Method: "POST",
  104. Header: nil,
  105. Version: "v1",
  106. },
  107. }
  108. }
  109. /* param regionId: 地域代码,取值范围参见[《各地域及可用区对照表》](../Enum-Definitions/Regions-AZ.md)(Required) */
  110. func (r *ModifyInstanceSpecRequest) SetRegionId(regionId string) {
  111. r.RegionId = regionId
  112. }
  113. /* param instanceId: RDS 实例ID,唯一标识一个RDS实例(Required) */
  114. func (r *ModifyInstanceSpecRequest) SetInstanceId(instanceId string) {
  115. r.InstanceId = instanceId
  116. }
  117. /* param newInstanceClass: 扩容后实例规格(Required) */
  118. func (r *ModifyInstanceSpecRequest) SetNewInstanceClass(newInstanceClass string) {
  119. r.NewInstanceClass = newInstanceClass
  120. }
  121. /* param newInstanceStorageGB: 扩容后实例磁盘大小(Required) */
  122. func (r *ModifyInstanceSpecRequest) SetNewInstanceStorageGB(newInstanceStorageGB int) {
  123. r.NewInstanceStorageGB = newInstanceStorageGB
  124. }
  125. /* param newInstanceStorageType: 存储类型,如果不指定,默认会采用实例原存储类型.(Optional) */
  126. func (r *ModifyInstanceSpecRequest) SetNewInstanceStorageType(newInstanceStorageType string) {
  127. r.NewInstanceStorageType = &newInstanceStorageType
  128. }
  129. /* param storageEncrypted: 实例数据加密(存储类型为云硬盘才支持数据加密). false:不加密; true:加密. 如果实例从本地盘变为云硬盘,缺省为false. 如果实例本来就是使用云硬盘的,缺省和源实例保持一致(Optional) */
  130. func (r *ModifyInstanceSpecRequest) SetStorageEncrypted(storageEncrypted bool) {
  131. r.StorageEncrypted = &storageEncrypted
  132. }
  133. /* param subnetId: 变配后的子网ID(Optional) */
  134. func (r *ModifyInstanceSpecRequest) SetSubnetId(subnetId string) {
  135. r.SubnetId = &subnetId
  136. }
  137. // GetRegionId returns path parameter 'regionId' if exist,
  138. // otherwise return empty string
  139. func (r ModifyInstanceSpecRequest) GetRegionId() string {
  140. return r.RegionId
  141. }
  142. type ModifyInstanceSpecResponse struct {
  143. RequestID string `json:"requestId"`
  144. Error core.ErrorResponse `json:"error"`
  145. Result ModifyInstanceSpecResult `json:"result"`
  146. }
  147. type ModifyInstanceSpecResult struct {
  148. OrderId string `json:"orderId"`
  149. }