describe_router_interface_attribute.go 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package vpc
  2. //Licensed under the Apache License, Version 2.0 (the "License");
  3. //you may not use this file except in compliance with the License.
  4. //You may obtain a copy of the License at
  5. //
  6. //http://www.apache.org/licenses/LICENSE-2.0
  7. //
  8. //Unless required by applicable law or agreed to in writing, software
  9. //distributed under the License is distributed on an "AS IS" BASIS,
  10. //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. //See the License for the specific language governing permissions and
  12. //limitations under the License.
  13. //
  14. // Code generated by Alibaba Cloud SDK Code Generator.
  15. // Changes may cause incorrect behavior and will be lost if the code is regenerated.
  16. import (
  17. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
  18. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
  19. )
  20. // DescribeRouterInterfaceAttribute invokes the vpc.DescribeRouterInterfaceAttribute API synchronously
  21. // api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
  22. func (client *Client) DescribeRouterInterfaceAttribute(request *DescribeRouterInterfaceAttributeRequest) (response *DescribeRouterInterfaceAttributeResponse, err error) {
  23. response = CreateDescribeRouterInterfaceAttributeResponse()
  24. err = client.DoAction(request, response)
  25. return
  26. }
  27. // DescribeRouterInterfaceAttributeWithChan invokes the vpc.DescribeRouterInterfaceAttribute API asynchronously
  28. // api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
  29. // asynchronous document: https://help.aliyun.com/document_detail/66220.html
  30. func (client *Client) DescribeRouterInterfaceAttributeWithChan(request *DescribeRouterInterfaceAttributeRequest) (<-chan *DescribeRouterInterfaceAttributeResponse, <-chan error) {
  31. responseChan := make(chan *DescribeRouterInterfaceAttributeResponse, 1)
  32. errChan := make(chan error, 1)
  33. err := client.AddAsyncTask(func() {
  34. defer close(responseChan)
  35. defer close(errChan)
  36. response, err := client.DescribeRouterInterfaceAttribute(request)
  37. if err != nil {
  38. errChan <- err
  39. } else {
  40. responseChan <- response
  41. }
  42. })
  43. if err != nil {
  44. errChan <- err
  45. close(responseChan)
  46. close(errChan)
  47. }
  48. return responseChan, errChan
  49. }
  50. // DescribeRouterInterfaceAttributeWithCallback invokes the vpc.DescribeRouterInterfaceAttribute API asynchronously
  51. // api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
  52. // asynchronous document: https://help.aliyun.com/document_detail/66220.html
  53. func (client *Client) DescribeRouterInterfaceAttributeWithCallback(request *DescribeRouterInterfaceAttributeRequest, callback func(response *DescribeRouterInterfaceAttributeResponse, err error)) <-chan int {
  54. result := make(chan int, 1)
  55. err := client.AddAsyncTask(func() {
  56. var response *DescribeRouterInterfaceAttributeResponse
  57. var err error
  58. defer close(result)
  59. response, err = client.DescribeRouterInterfaceAttribute(request)
  60. callback(response, err)
  61. result <- 1
  62. })
  63. if err != nil {
  64. defer close(result)
  65. callback(nil, err)
  66. result <- 0
  67. }
  68. return result
  69. }
  70. // DescribeRouterInterfaceAttributeRequest is the request struct for api DescribeRouterInterfaceAttribute
  71. type DescribeRouterInterfaceAttributeRequest struct {
  72. *requests.RpcRequest
  73. ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
  74. ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"`
  75. OwnerId requests.Integer `position:"Query" name:"OwnerId"`
  76. InstanceId string `position:"Query" name:"InstanceId"`
  77. }
  78. // DescribeRouterInterfaceAttributeResponse is the response struct for api DescribeRouterInterfaceAttribute
  79. type DescribeRouterInterfaceAttributeResponse struct {
  80. *responses.BaseResponse
  81. RequestId string `json:"RequestId" xml:"RequestId"`
  82. Code string `json:"Code" xml:"Code"`
  83. Message string `json:"Message" xml:"Message"`
  84. Success bool `json:"Success" xml:"Success"`
  85. RouterInterfaceId string `json:"RouterInterfaceId" xml:"RouterInterfaceId"`
  86. OppositeRegionId string `json:"OppositeRegionId" xml:"OppositeRegionId"`
  87. Role string `json:"Role" xml:"Role"`
  88. Spec string `json:"Spec" xml:"Spec"`
  89. Name string `json:"Name" xml:"Name"`
  90. Description string `json:"Description" xml:"Description"`
  91. RouterId string `json:"RouterId" xml:"RouterId"`
  92. RouterType string `json:"RouterType" xml:"RouterType"`
  93. CreationTime string `json:"CreationTime" xml:"CreationTime"`
  94. GmtModified string `json:"GmtModified" xml:"GmtModified"`
  95. EndTime string `json:"EndTime" xml:"EndTime"`
  96. ChargeType string `json:"ChargeType" xml:"ChargeType"`
  97. Status string `json:"Status" xml:"Status"`
  98. BusinessStatus string `json:"BusinessStatus" xml:"BusinessStatus"`
  99. ConnectedTime string `json:"ConnectedTime" xml:"ConnectedTime"`
  100. OppositeInterfaceId string `json:"OppositeInterfaceId" xml:"OppositeInterfaceId"`
  101. OppositeInterfaceSpec string `json:"OppositeInterfaceSpec" xml:"OppositeInterfaceSpec"`
  102. OppositeInterfaceStatus string `json:"OppositeInterfaceStatus" xml:"OppositeInterfaceStatus"`
  103. OppositeInterfaceBusinessStatus string `json:"OppositeInterfaceBusinessStatus" xml:"OppositeInterfaceBusinessStatus"`
  104. OppositeRouterId string `json:"OppositeRouterId" xml:"OppositeRouterId"`
  105. OppositeRouterType string `json:"OppositeRouterType" xml:"OppositeRouterType"`
  106. OppositeInterfaceOwnerId string `json:"OppositeInterfaceOwnerId" xml:"OppositeInterfaceOwnerId"`
  107. AccessPointId string `json:"AccessPointId" xml:"AccessPointId"`
  108. OppositeAccessPointId string `json:"OppositeAccessPointId" xml:"OppositeAccessPointId"`
  109. HealthCheckSourceIp string `json:"HealthCheckSourceIp" xml:"HealthCheckSourceIp"`
  110. HealthCheckTargetIp string `json:"HealthCheckTargetIp" xml:"HealthCheckTargetIp"`
  111. OppositeVpcInstanceId string `json:"OppositeVpcInstanceId" xml:"OppositeVpcInstanceId"`
  112. Bandwidth int `json:"Bandwidth" xml:"Bandwidth"`
  113. VpcInstanceId string `json:"VpcInstanceId" xml:"VpcInstanceId"`
  114. OppositeBandwidth int `json:"OppositeBandwidth" xml:"OppositeBandwidth"`
  115. HasReservationData string `json:"HasReservationData" xml:"HasReservationData"`
  116. ReservationBandwidth string `json:"ReservationBandwidth" xml:"ReservationBandwidth"`
  117. ReservationInternetChargeType string `json:"ReservationInternetChargeType" xml:"ReservationInternetChargeType"`
  118. ReservationActiveTime string `json:"ReservationActiveTime" xml:"ReservationActiveTime"`
  119. ReservationOrderType string `json:"ReservationOrderType" xml:"ReservationOrderType"`
  120. CrossBorder bool `json:"CrossBorder" xml:"CrossBorder"`
  121. HcThreshold int `json:"HcThreshold" xml:"HcThreshold"`
  122. HcRate int `json:"HcRate" xml:"HcRate"`
  123. HealthCheckStatus string `json:"HealthCheckStatus" xml:"HealthCheckStatus"`
  124. }
  125. // CreateDescribeRouterInterfaceAttributeRequest creates a request to invoke DescribeRouterInterfaceAttribute API
  126. func CreateDescribeRouterInterfaceAttributeRequest() (request *DescribeRouterInterfaceAttributeRequest) {
  127. request = &DescribeRouterInterfaceAttributeRequest{
  128. RpcRequest: &requests.RpcRequest{},
  129. }
  130. request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeRouterInterfaceAttribute", "Vpc", "openAPI")
  131. return
  132. }
  133. // CreateDescribeRouterInterfaceAttributeResponse creates a response to parse from DescribeRouterInterfaceAttribute response
  134. func CreateDescribeRouterInterfaceAttributeResponse() (response *DescribeRouterInterfaceAttributeResponse) {
  135. response = &DescribeRouterInterfaceAttributeResponse{
  136. BaseResponse: &responses.BaseResponse{},
  137. }
  138. return
  139. }