cluster-autoscaler/cloudprovider/alicloud/alibaba-cloud-sdk-go/services/ess/describe_scaling_rules.go (122 lines of code) (raw):

/* Copyright 2018 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ package ess import ( "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/alicloud/alibaba-cloud-sdk-go/sdk/requests" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/alicloud/alibaba-cloud-sdk-go/sdk/responses" ) // DescribeScalingRules invokes the ess.DescribeScalingRules API synchronously // api document: https://help.aliyun.com/api/ess/describescalingrules.html func (client *Client) DescribeScalingRules(request *DescribeScalingRulesRequest) (response *DescribeScalingRulesResponse, err error) { response = CreateDescribeScalingRulesResponse() err = client.DoAction(request, response) return } // DescribeScalingRulesWithChan invokes the ess.DescribeScalingRules API asynchronously // api document: https://help.aliyun.com/api/ess/describescalingrules.html // asynchronous document: https://help.aliyun.com/document_detail/66220.html func (client *Client) DescribeScalingRulesWithChan(request *DescribeScalingRulesRequest) (<-chan *DescribeScalingRulesResponse, <-chan error) { responseChan := make(chan *DescribeScalingRulesResponse, 1) errChan := make(chan error, 1) err := client.AddAsyncTask(func() { defer close(responseChan) defer close(errChan) response, err := client.DescribeScalingRules(request) if err != nil { errChan <- err } else { responseChan <- response } }) if err != nil { errChan <- err close(responseChan) close(errChan) } return responseChan, errChan } // DescribeScalingRulesWithCallback invokes the ess.DescribeScalingRules API asynchronously // api document: https://help.aliyun.com/api/ess/describescalingrules.html // asynchronous document: https://help.aliyun.com/document_detail/66220.html func (client *Client) DescribeScalingRulesWithCallback(request *DescribeScalingRulesRequest, callback func(response *DescribeScalingRulesResponse, err error)) <-chan int { result := make(chan int, 1) err := client.AddAsyncTask(func() { var response *DescribeScalingRulesResponse var err error defer close(result) response, err = client.DescribeScalingRules(request) callback(response, err) result <- 1 }) if err != nil { defer close(result) callback(nil, err) result <- 0 } return result } // DescribeScalingRulesRequest is the request struct for api DescribeScalingRules type DescribeScalingRulesRequest struct { *requests.RpcRequest ScalingRuleName1 string `position:"Query" name:"ScalingRuleName.1"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ScalingRuleName2 string `position:"Query" name:"ScalingRuleName.2"` ScalingRuleName3 string `position:"Query" name:"ScalingRuleName.3"` ScalingRuleName4 string `position:"Query" name:"ScalingRuleName.4"` ScalingRuleName5 string `position:"Query" name:"ScalingRuleName.5"` ScalingGroupId string `position:"Query" name:"ScalingGroupId"` ScalingRuleName6 string `position:"Query" name:"ScalingRuleName.6"` ScalingRuleName7 string `position:"Query" name:"ScalingRuleName.7"` ScalingRuleName8 string `position:"Query" name:"ScalingRuleName.8"` ScalingRuleAri9 string `position:"Query" name:"ScalingRuleAri.9"` ScalingRuleName9 string `position:"Query" name:"ScalingRuleName.9"` PageNumber requests.Integer `position:"Query" name:"PageNumber"` PageSize requests.Integer `position:"Query" name:"PageSize"` ScalingRuleId10 string `position:"Query" name:"ScalingRuleId.10"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` OwnerAccount string `position:"Query" name:"OwnerAccount"` OwnerId requests.Integer `position:"Query" name:"OwnerId"` ScalingRuleAri1 string `position:"Query" name:"ScalingRuleAri.1"` ScalingRuleAri2 string `position:"Query" name:"ScalingRuleAri.2"` ScalingRuleName10 string `position:"Query" name:"ScalingRuleName.10"` ScalingRuleAri3 string `position:"Query" name:"ScalingRuleAri.3"` ScalingRuleAri4 string `position:"Query" name:"ScalingRuleAri.4"` ScalingRuleId8 string `position:"Query" name:"ScalingRuleId.8"` ScalingRuleAri5 string `position:"Query" name:"ScalingRuleAri.5"` ScalingRuleId9 string `position:"Query" name:"ScalingRuleId.9"` ScalingRuleAri6 string `position:"Query" name:"ScalingRuleAri.6"` ScalingRuleAri7 string `position:"Query" name:"ScalingRuleAri.7"` ScalingRuleAri10 string `position:"Query" name:"ScalingRuleAri.10"` ScalingRuleAri8 string `position:"Query" name:"ScalingRuleAri.8"` ScalingRuleId4 string `position:"Query" name:"ScalingRuleId.4"` ScalingRuleId5 string `position:"Query" name:"ScalingRuleId.5"` ScalingRuleId6 string `position:"Query" name:"ScalingRuleId.6"` ScalingRuleId7 string `position:"Query" name:"ScalingRuleId.7"` ScalingRuleId1 string `position:"Query" name:"ScalingRuleId.1"` ScalingRuleId2 string `position:"Query" name:"ScalingRuleId.2"` ScalingRuleId3 string `position:"Query" name:"ScalingRuleId.3"` } // DescribeScalingRulesResponse is the response struct for api DescribeScalingRules type DescribeScalingRulesResponse struct { *responses.BaseResponse TotalCount int `json:"TotalCount" xml:"TotalCount"` PageNumber int `json:"PageNumber" xml:"PageNumber"` PageSize int `json:"PageSize" xml:"PageSize"` RequestId string `json:"RequestId" xml:"RequestId"` ScalingRules ScalingRules `json:"ScalingRules" xml:"ScalingRules"` } // CreateDescribeScalingRulesRequest creates a request to invoke DescribeScalingRules API func CreateDescribeScalingRulesRequest() (request *DescribeScalingRulesRequest) { request = &DescribeScalingRulesRequest{ RpcRequest: &requests.RpcRequest{}, } request.InitWithApiInfo("Ess", "2014-08-28", "DescribeScalingRules", "ess", "openAPI") return } // CreateDescribeScalingRulesResponse creates a response to parse from DescribeScalingRules response func CreateDescribeScalingRulesResponse() (response *DescribeScalingRulesResponse) { response = &DescribeScalingRulesResponse{ BaseResponse: &responses.BaseResponse{}, } return } // ScalingRules is a nested struct in ess response type ScalingRules struct { ScalingRule []ScalingRule `json:"ScalingRule" xml:"ScalingRule"` } // ScalingRule is a nested struct in ess response type ScalingRule struct { ScalingRuleId string `json:"ScalingRuleId" xml:"ScalingRuleId"` ScalingGroupId string `json:"ScalingGroupId" xml:"ScalingGroupId"` ScalingRuleName string `json:"ScalingRuleName" xml:"ScalingRuleName"` Cooldown int `json:"Cooldown" xml:"Cooldown"` AdjustmentType string `json:"AdjustmentType" xml:"AdjustmentType"` AdjustmentValue int `json:"AdjustmentValue" xml:"AdjustmentValue"` MinSize int `json:"MinSize" xml:"MinSize"` MaxSize int `json:"MaxSize" xml:"MaxSize"` ScalingRuleAri string `json:"ScalingRuleAri" xml:"ScalingRuleAri"` }