cluster-autoscaler/cloudprovider/alicloud/alibaba-cloud-sdk-go/services/ess/describe_scaling_configurations.go (160 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" ) // DescribeScalingConfigurations invokes the ess.DescribeScalingConfigurations API synchronously // api document: https://help.aliyun.com/api/ess/describescalingconfigurations.html func (client *Client) DescribeScalingConfigurations(request *DescribeScalingConfigurationsRequest) (response *DescribeScalingConfigurationsResponse, err error) { response = CreateDescribeScalingConfigurationsResponse() err = client.DoAction(request, response) return } // DescribeScalingConfigurationsWithChan invokes the ess.DescribeScalingConfigurations API asynchronously // api document: https://help.aliyun.com/api/ess/describescalingconfigurations.html // asynchronous document: https://help.aliyun.com/document_detail/66220.html func (client *Client) DescribeScalingConfigurationsWithChan(request *DescribeScalingConfigurationsRequest) (<-chan *DescribeScalingConfigurationsResponse, <-chan error) { responseChan := make(chan *DescribeScalingConfigurationsResponse, 1) errChan := make(chan error, 1) err := client.AddAsyncTask(func() { defer close(responseChan) defer close(errChan) response, err := client.DescribeScalingConfigurations(request) if err != nil { errChan <- err } else { responseChan <- response } }) if err != nil { errChan <- err close(responseChan) close(errChan) } return responseChan, errChan } // DescribeScalingConfigurationsWithCallback invokes the ess.DescribeScalingConfigurations API asynchronously // api document: https://help.aliyun.com/api/ess/describescalingconfigurations.html // asynchronous document: https://help.aliyun.com/document_detail/66220.html func (client *Client) DescribeScalingConfigurationsWithCallback(request *DescribeScalingConfigurationsRequest, callback func(response *DescribeScalingConfigurationsResponse, err error)) <-chan int { result := make(chan int, 1) err := client.AddAsyncTask(func() { var response *DescribeScalingConfigurationsResponse var err error defer close(result) response, err = client.DescribeScalingConfigurations(request) callback(response, err) result <- 1 }) if err != nil { defer close(result) callback(nil, err) result <- 0 } return result } // DescribeScalingConfigurationsRequest is the request struct for api DescribeScalingConfigurations type DescribeScalingConfigurationsRequest struct { *requests.RpcRequest ScalingConfigurationId6 string `position:"Query" name:"ScalingConfigurationId.6"` ScalingConfigurationId7 string `position:"Query" name:"ScalingConfigurationId.7"` ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` ScalingConfigurationId4 string `position:"Query" name:"ScalingConfigurationId.4"` ScalingConfigurationId5 string `position:"Query" name:"ScalingConfigurationId.5"` ScalingGroupId string `position:"Query" name:"ScalingGroupId"` ScalingConfigurationId8 string `position:"Query" name:"ScalingConfigurationId.8"` ScalingConfigurationId9 string `position:"Query" name:"ScalingConfigurationId.9"` ScalingConfigurationId10 string `position:"Query" name:"ScalingConfigurationId.10"` PageNumber requests.Integer `position:"Query" name:"PageNumber"` ScalingConfigurationName2 string `position:"Query" name:"ScalingConfigurationName.2"` ScalingConfigurationName3 string `position:"Query" name:"ScalingConfigurationName.3"` ScalingConfigurationName1 string `position:"Query" name:"ScalingConfigurationName.1"` PageSize requests.Integer `position:"Query" name:"PageSize"` ScalingConfigurationId2 string `position:"Query" name:"ScalingConfigurationId.2"` ScalingConfigurationId3 string `position:"Query" name:"ScalingConfigurationId.3"` ScalingConfigurationId1 string `position:"Query" name:"ScalingConfigurationId.1"` ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` OwnerAccount string `position:"Query" name:"OwnerAccount"` ScalingConfigurationName6 string `position:"Query" name:"ScalingConfigurationName.6"` ScalingConfigurationName7 string `position:"Query" name:"ScalingConfigurationName.7"` ScalingConfigurationName4 string `position:"Query" name:"ScalingConfigurationName.4"` ScalingConfigurationName5 string `position:"Query" name:"ScalingConfigurationName.5"` OwnerId requests.Integer `position:"Query" name:"OwnerId"` ScalingConfigurationName8 string `position:"Query" name:"ScalingConfigurationName.8"` ScalingConfigurationName9 string `position:"Query" name:"ScalingConfigurationName.9"` ScalingConfigurationName10 string `position:"Query" name:"ScalingConfigurationName.10"` } // DescribeScalingConfigurationsResponse is the response struct for api DescribeScalingConfigurations type DescribeScalingConfigurationsResponse 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"` ScalingConfigurations ScalingConfigurations `json:"ScalingConfigurations" xml:"ScalingConfigurations"` } // CreateDescribeScalingConfigurationsRequest creates a request to invoke DescribeScalingConfigurations API func CreateDescribeScalingConfigurationsRequest() (request *DescribeScalingConfigurationsRequest) { request = &DescribeScalingConfigurationsRequest{ RpcRequest: &requests.RpcRequest{}, } request.InitWithApiInfo("Ess", "2014-08-28", "DescribeScalingConfigurations", "ess", "openAPI") return } // CreateDescribeScalingConfigurationsResponse creates a response to parse from DescribeScalingConfigurations response func CreateDescribeScalingConfigurationsResponse() (response *DescribeScalingConfigurationsResponse) { response = &DescribeScalingConfigurationsResponse{ BaseResponse: &responses.BaseResponse{}, } return } // ScalingConfigurations is a nested struct in ess response type ScalingConfigurations struct { ScalingConfiguration []ScalingConfiguration `json:"ScalingConfiguration" xml:"ScalingConfiguration"` } // ScalingConfiguration is a nested struct in ess response type ScalingConfiguration struct { ScalingConfigurationId string `json:"ScalingConfigurationId" xml:"ScalingConfigurationId"` ScalingConfigurationName string `json:"ScalingConfigurationName" xml:"ScalingConfigurationName"` ScalingGroupId string `json:"ScalingGroupId" xml:"ScalingGroupId"` InstanceName string `json:"InstanceName" xml:"InstanceName"` ImageId string `json:"ImageId" xml:"ImageId"` ImageName string `json:"ImageName" xml:"ImageName"` HostName string `json:"HostName" xml:"HostName"` InstanceType string `json:"InstanceType" xml:"InstanceType"` InstanceGeneration string `json:"InstanceGeneration" xml:"InstanceGeneration"` SecurityGroupId string `json:"SecurityGroupId" xml:"SecurityGroupId"` IoOptimized string `json:"IoOptimized" xml:"IoOptimized"` InternetChargeType string `json:"InternetChargeType" xml:"InternetChargeType"` InternetMaxBandwidthIn int `json:"InternetMaxBandwidthIn" xml:"InternetMaxBandwidthIn"` InternetMaxBandwidthOut int `json:"InternetMaxBandwidthOut" xml:"InternetMaxBandwidthOut"` SystemDiskCategory string `json:"SystemDiskCategory" xml:"SystemDiskCategory"` SystemDiskSize int `json:"SystemDiskSize" xml:"SystemDiskSize"` LifecycleState string `json:"LifecycleState" xml:"LifecycleState"` CreationTime string `json:"CreationTime" xml:"CreationTime"` LoadBalancerWeight int `json:"LoadBalancerWeight" xml:"LoadBalancerWeight"` UserData string `json:"UserData" xml:"UserData"` KeyPairName string `json:"KeyPairName" xml:"KeyPairName"` RamRoleName string `json:"RamRoleName" xml:"RamRoleName"` DeploymentSetId string `json:"DeploymentSetId" xml:"DeploymentSetId"` SecurityEnhancementStrategy string `json:"SecurityEnhancementStrategy" xml:"SecurityEnhancementStrategy"` SpotStrategy string `json:"SpotStrategy" xml:"SpotStrategy"` PasswordInherit bool `json:"PasswordInherit" xml:"PasswordInherit"` InstanceTypes InstanceTypes `json:"InstanceTypes" xml:"InstanceTypes"` DataDisks DataDisks `json:"DataDisks" xml:"DataDisks"` Tags Tags `json:"Tags" xml:"Tags"` SpotPriceLimit SpotPriceLimit `json:"SpotPriceLimit" xml:"SpotPriceLimit"` } // InstanceTypes is a nested struct in ess response type InstanceTypes struct { InstanceType []string `json:"InstanceType" xml:"InstanceType"` } // DataDisks is a nested struct in ess response type DataDisks struct { DataDisk []DataDisk `json:"DataDisk" xml:"DataDisk"` } // DataDisk is a nested struct in ess response type DataDisk struct { Size int `json:"Size" xml:"Size"` Category string `json:"Category" xml:"Category"` SnapshotId string `json:"SnapshotId" xml:"SnapshotId"` Device string `json:"Device" xml:"Device"` DeleteWithInstance bool `json:"DeleteWithInstance" xml:"DeleteWithInstance"` } // Tags is a nested struct in ess response type Tags struct { Tag []Tag `json:"Tag" xml:"Tag"` } // Tag is a nested struct in ess response type Tag struct { Key string `json:"Key" xml:"Key"` Value string `json:"Value" xml:"Value"` } // SpotPriceLimit is a nested struct in ess response type SpotPriceLimit struct { SpotPriceModel []SpotPriceModel `json:"SpotPriceModel" xml:"SpotPriceModel"` } // SpotPriceModel is a nested struct in ess response type SpotPriceModel struct { InstanceType string `json:"InstanceType" xml:"InstanceType"` PriceLimit float64 `json:"PriceLimit" xml:"PriceLimit"` }