DescribeBriefInstances.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. vm "github.com/jdcloud-api/jdcloud-sdk-go/services/vm/models"
  20. common "github.com/jdcloud-api/jdcloud-sdk-go/services/common/models"
  21. )
  22. type DescribeBriefInstancesRequest struct {
  23. core.JDCloudRequest
  24. /* 地域ID */
  25. RegionId string `json:"regionId"`
  26. /* 页码;默认为1 (Optional) */
  27. PageNumber *int `json:"pageNumber"`
  28. /* 分页大小;默认为20;取值范围[10, 100] (Optional) */
  29. PageSize *int `json:"pageSize"`
  30. /* Tag筛选条件 (Optional) */
  31. Tags []vm.TagFilter `json:"tags"`
  32. /* instanceId - 云主机ID,精确匹配,支持多个
  33. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  34. az - 可用区,精确匹配,支持多个
  35. vpcId - 私有网络ID,精确匹配,支持多个
  36. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  37. name - 云主机名称,模糊匹配,支持单个
  38. imageId - 镜像ID,精确匹配,支持多个
  39. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  40. subnetId - 子网ID,精确匹配,支持多个
  41. agId - 使用可用组id,支持单个
  42. faultDomain - 错误域,支持多个
  43. dedicatedHostId - 专有宿主机ID,精确匹配,支持多个
  44. dedicatedPoolId - 专有宿主机池ID,精确匹配,支持多个
  45. instanceType - 实例规格,精确匹配,支持多个
  46. elasticIpAddress - 公网IP地址,精确匹配,支持单个
  47. (Optional) */
  48. Filters []common.Filter `json:"filters"`
  49. }
  50. /*
  51. * param regionId: 地域ID (Required)
  52. *
  53. * @Deprecated, not compatible when mandatory parameters changed
  54. */
  55. func NewDescribeBriefInstancesRequest(
  56. regionId string,
  57. ) *DescribeBriefInstancesRequest {
  58. return &DescribeBriefInstancesRequest{
  59. JDCloudRequest: core.JDCloudRequest{
  60. URL: "/regions/{regionId}/instances:describeBriefInstances",
  61. Method: "GET",
  62. Header: nil,
  63. Version: "v1",
  64. },
  65. RegionId: regionId,
  66. }
  67. }
  68. /*
  69. * param regionId: 地域ID (Required)
  70. * param pageNumber: 页码;默认为1 (Optional)
  71. * param pageSize: 分页大小;默认为20;取值范围[10, 100] (Optional)
  72. * param tags: Tag筛选条件 (Optional)
  73. * param filters: instanceId - 云主机ID,精确匹配,支持多个
  74. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  75. az - 可用区,精确匹配,支持多个
  76. vpcId - 私有网络ID,精确匹配,支持多个
  77. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  78. name - 云主机名称,模糊匹配,支持单个
  79. imageId - 镜像ID,精确匹配,支持多个
  80. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  81. subnetId - 子网ID,精确匹配,支持多个
  82. agId - 使用可用组id,支持单个
  83. faultDomain - 错误域,支持多个
  84. dedicatedHostId - 专有宿主机ID,精确匹配,支持多个
  85. dedicatedPoolId - 专有宿主机池ID,精确匹配,支持多个
  86. instanceType - 实例规格,精确匹配,支持多个
  87. elasticIpAddress - 公网IP地址,精确匹配,支持单个
  88. (Optional)
  89. */
  90. func NewDescribeBriefInstancesRequestWithAllParams(
  91. regionId string,
  92. pageNumber *int,
  93. pageSize *int,
  94. tags []vm.TagFilter,
  95. filters []common.Filter,
  96. ) *DescribeBriefInstancesRequest {
  97. return &DescribeBriefInstancesRequest{
  98. JDCloudRequest: core.JDCloudRequest{
  99. URL: "/regions/{regionId}/instances:describeBriefInstances",
  100. Method: "GET",
  101. Header: nil,
  102. Version: "v1",
  103. },
  104. RegionId: regionId,
  105. PageNumber: pageNumber,
  106. PageSize: pageSize,
  107. Tags: tags,
  108. Filters: filters,
  109. }
  110. }
  111. /* This constructor has better compatible ability when API parameters changed */
  112. func NewDescribeBriefInstancesRequestWithoutParam() *DescribeBriefInstancesRequest {
  113. return &DescribeBriefInstancesRequest{
  114. JDCloudRequest: core.JDCloudRequest{
  115. URL: "/regions/{regionId}/instances:describeBriefInstances",
  116. Method: "GET",
  117. Header: nil,
  118. Version: "v1",
  119. },
  120. }
  121. }
  122. /* param regionId: 地域ID(Required) */
  123. func (r *DescribeBriefInstancesRequest) SetRegionId(regionId string) {
  124. r.RegionId = regionId
  125. }
  126. /* param pageNumber: 页码;默认为1(Optional) */
  127. func (r *DescribeBriefInstancesRequest) SetPageNumber(pageNumber int) {
  128. r.PageNumber = &pageNumber
  129. }
  130. /* param pageSize: 分页大小;默认为20;取值范围[10, 100](Optional) */
  131. func (r *DescribeBriefInstancesRequest) SetPageSize(pageSize int) {
  132. r.PageSize = &pageSize
  133. }
  134. /* param tags: Tag筛选条件(Optional) */
  135. func (r *DescribeBriefInstancesRequest) SetTags(tags []vm.TagFilter) {
  136. r.Tags = tags
  137. }
  138. /* param filters: instanceId - 云主机ID,精确匹配,支持多个
  139. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  140. az - 可用区,精确匹配,支持多个
  141. vpcId - 私有网络ID,精确匹配,支持多个
  142. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  143. name - 云主机名称,模糊匹配,支持单个
  144. imageId - 镜像ID,精确匹配,支持多个
  145. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  146. subnetId - 子网ID,精确匹配,支持多个
  147. agId - 使用可用组id,支持单个
  148. faultDomain - 错误域,支持多个
  149. dedicatedHostId - 专有宿主机ID,精确匹配,支持多个
  150. dedicatedPoolId - 专有宿主机池ID,精确匹配,支持多个
  151. instanceType - 实例规格,精确匹配,支持多个
  152. elasticIpAddress - 公网IP地址,精确匹配,支持单个
  153. (Optional) */
  154. func (r *DescribeBriefInstancesRequest) SetFilters(filters []common.Filter) {
  155. r.Filters = filters
  156. }
  157. // GetRegionId returns path parameter 'regionId' if exist,
  158. // otherwise return empty string
  159. func (r DescribeBriefInstancesRequest) GetRegionId() string {
  160. return r.RegionId
  161. }
  162. type DescribeBriefInstancesResponse struct {
  163. RequestID string `json:"requestId"`
  164. Error core.ErrorResponse `json:"error"`
  165. Result DescribeBriefInstancesResult `json:"result"`
  166. }
  167. type DescribeBriefInstancesResult struct {
  168. Instances []vm.BriefInstance `json:"instances"`
  169. TotalCount int `json:"totalCount"`
  170. }