DescribeInstanceStatus.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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 DescribeInstanceStatusRequest 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. /* instanceId - 云主机ID,精确匹配,支持多个
  31. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  32. vpcId - 私有网络ID,精确匹配,支持多个
  33. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  34. name - 云主机名称,模糊匹配,支持单个
  35. imageId - 镜像ID,精确匹配,支持多个
  36. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  37. subnetId - 子网ID,精确匹配,支持多个
  38. (Optional) */
  39. Filters []common.Filter `json:"filters"`
  40. }
  41. /*
  42. * param regionId: 地域ID (Required)
  43. *
  44. * @Deprecated, not compatible when mandatory parameters changed
  45. */
  46. func NewDescribeInstanceStatusRequest(
  47. regionId string,
  48. ) *DescribeInstanceStatusRequest {
  49. return &DescribeInstanceStatusRequest{
  50. JDCloudRequest: core.JDCloudRequest{
  51. URL: "/regions/{regionId}/instanceStatus",
  52. Method: "GET",
  53. Header: nil,
  54. Version: "v1",
  55. },
  56. RegionId: regionId,
  57. }
  58. }
  59. /*
  60. * param regionId: 地域ID (Required)
  61. * param pageNumber: 页码;默认为1 (Optional)
  62. * param pageSize: 分页大小;默认为20;取值范围[10, 100] (Optional)
  63. * param filters: instanceId - 云主机ID,精确匹配,支持多个
  64. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  65. vpcId - 私有网络ID,精确匹配,支持多个
  66. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  67. name - 云主机名称,模糊匹配,支持单个
  68. imageId - 镜像ID,精确匹配,支持多个
  69. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  70. subnetId - 子网ID,精确匹配,支持多个
  71. (Optional)
  72. */
  73. func NewDescribeInstanceStatusRequestWithAllParams(
  74. regionId string,
  75. pageNumber *int,
  76. pageSize *int,
  77. filters []common.Filter,
  78. ) *DescribeInstanceStatusRequest {
  79. return &DescribeInstanceStatusRequest{
  80. JDCloudRequest: core.JDCloudRequest{
  81. URL: "/regions/{regionId}/instanceStatus",
  82. Method: "GET",
  83. Header: nil,
  84. Version: "v1",
  85. },
  86. RegionId: regionId,
  87. PageNumber: pageNumber,
  88. PageSize: pageSize,
  89. Filters: filters,
  90. }
  91. }
  92. /* This constructor has better compatible ability when API parameters changed */
  93. func NewDescribeInstanceStatusRequestWithoutParam() *DescribeInstanceStatusRequest {
  94. return &DescribeInstanceStatusRequest{
  95. JDCloudRequest: core.JDCloudRequest{
  96. URL: "/regions/{regionId}/instanceStatus",
  97. Method: "GET",
  98. Header: nil,
  99. Version: "v1",
  100. },
  101. }
  102. }
  103. /* param regionId: 地域ID(Required) */
  104. func (r *DescribeInstanceStatusRequest) SetRegionId(regionId string) {
  105. r.RegionId = regionId
  106. }
  107. /* param pageNumber: 页码;默认为1(Optional) */
  108. func (r *DescribeInstanceStatusRequest) SetPageNumber(pageNumber int) {
  109. r.PageNumber = &pageNumber
  110. }
  111. /* param pageSize: 分页大小;默认为20;取值范围[10, 100](Optional) */
  112. func (r *DescribeInstanceStatusRequest) SetPageSize(pageSize int) {
  113. r.PageSize = &pageSize
  114. }
  115. /* param filters: instanceId - 云主机ID,精确匹配,支持多个
  116. privateIpAddress - 主网卡内网主IP地址,模糊匹配,支持多个
  117. vpcId - 私有网络ID,精确匹配,支持多个
  118. status - 云主机状态,精确匹配,支持多个,<a href="http://docs.jdcloud.com/virtual-machines/api/vm_status">参考云主机状态</a>
  119. name - 云主机名称,模糊匹配,支持单个
  120. imageId - 镜像ID,精确匹配,支持多个
  121. networkInterfaceId - 弹性网卡ID,精确匹配,支持多个
  122. subnetId - 子网ID,精确匹配,支持多个
  123. (Optional) */
  124. func (r *DescribeInstanceStatusRequest) SetFilters(filters []common.Filter) {
  125. r.Filters = filters
  126. }
  127. // GetRegionId returns path parameter 'regionId' if exist,
  128. // otherwise return empty string
  129. func (r DescribeInstanceStatusRequest) GetRegionId() string {
  130. return r.RegionId
  131. }
  132. type DescribeInstanceStatusResponse struct {
  133. RequestID string `json:"requestId"`
  134. Error core.ErrorResponse `json:"error"`
  135. Result DescribeInstanceStatusResult `json:"result"`
  136. }
  137. type DescribeInstanceStatusResult struct {
  138. InstanceStatuses []vm.InstanceStatus `json:"instanceStatuses"`
  139. TotalCount int `json:"totalCount"`
  140. }