'1.0',
'info' => ['style' => 'RPC', 'product' => 'Ess', 'version' => '2022-02-22'],
'directories' => [
[
'children' => [
'CreateScalingGroup', 'ModifyScalingGroup', 'EnableScalingGroup', 'DisableScalingGroup', 'SetGroupDeletionProtection', 'DeleteScalingGroup', 'DescribeScalingGroups', 'DescribeScalingGroupDetail', 'DescribeScalingInstances', 'DescribeScalingActivities', 'DescribeScalingActivityDetail', 'AttachLoadBalancers', 'DetachLoadBalancers', 'AttachDBInstances', 'DetachDBInstances', 'SuspendProcesses', 'ResumeProcesses', 'AttachVServerGroups', 'DetachVServerGroups', 'AttachAlbServerGroups',
'DetachAlbServerGroups', 'AttachServerGroups', 'DetachServerGroups', 'DescribeElasticStrength',
],
'type' => 'directory',
'title' => 'Scaling groups',
],
[
'children' => ['CreateScalingConfiguration', 'DescribeScalingConfigurations', 'ModifyScalingConfiguration', 'DeleteScalingConfiguration', 'CreateEciScalingConfiguration', 'DescribeEciScalingConfigurations', 'ModifyEciScalingConfiguration', 'ApplyEciScalingConfiguration', 'DeleteEciScalingConfiguration', 'DescribeCandidateInstanceType'],
'type' => 'directory',
'title' => 'Scaling configurations',
],
[
'children' => ['CreateScalingRule', 'ModifyScalingRule', 'DescribeScalingRules', 'DeleteScalingRule'],
'type' => 'directory',
'title' => 'Scaling rules',
],
[
'children' => ['ExecuteScalingRule', 'ScaleWithAdjustment', 'RemoveInstances', 'DetachInstances'],
'type' => 'directory',
'title' => 'Scaling tasks',
],
[
'children' => ['DescribeScheduledTasks'],
'type' => 'directory',
'title' => 'Scheduled tasks',
],
[
'children' => ['CreateAlarm', 'DescribeAlarms', 'ModifyAlarm', 'EnableAlarm', 'DisableAlarm', 'DeleteAlarm'],
'type' => 'directory',
'title' => 'Event-triggered tasks',
],
[
'children' => ['DescribeInstanceRefreshes', 'StartInstanceRefresh'],
'type' => 'directory',
'title' => 'Instance refresh',
],
[
'children' => ['RecordLifecycleActionHeartbeat', 'DescribeLifecycleActions', 'CompleteLifecycleAction'],
'type' => 'directory',
'title' => 'Lifecycle hooks',
],
[
'children' => ['CreateNotificationConfiguration', 'ModifyNotificationConfiguration', 'DescribeNotificationConfigurations'],
'type' => 'directory',
'title' => 'Event notifications',
],
[
'children' => ['DescribeDiagnoseReports', 'DescribeScalingGroupDiagnoseDetails'],
'type' => 'directory',
'title' => 'Health diagnosis',
],
[
'children' => ['EnterStandby', 'ExitStandby', 'RebalanceInstances', 'SetInstanceHealth', 'SetInstancesProtection'],
'type' => 'directory',
'title' => 'Instances',
],
[
'children' => ['DescribeInstanceCreateAndDeleteStatistics', 'QueryPredictiveValue', 'QueryHistoricalMetric', 'QueryPredictiveTaskInfo', 'QueryPredictiveMetric', 'DeleteDiagnoseReport', 'DescribeScalingActivityStatistics'],
'type' => 'directory',
'title' => 'Other',
],
[
'children' => [
'ApplyScalingGroup', 'AttachInstances', 'CancelInstanceRefresh', 'ChangeResourceGroup', 'CreateDiagnoseReport', 'CreateLifecycleHook', 'CreateScheduledTask', 'DeleteLifecycleHook', 'DeleteNotificationConfiguration', 'DeleteScheduledTask', 'DescribeAlertConfiguration', 'DescribeEciScalingConfigurationDetail', 'DescribeLifecycleHooks', 'DescribeLimitation', 'DescribeNotificationTypes', 'DescribePatternTypes', 'DescribeRegions', 'ListTagKeys', 'ListTagResources', 'ListTagValues',
'ModifyAlertConfiguration', 'ModifyInstanceAttribute', 'ModifyLifecycleHook', 'ModifyScheduledTask', 'ResumeInstanceRefresh', 'RollbackInstanceRefresh', 'SuspendInstanceRefresh', 'TagResources', 'UntagResources', 'VerifyAuthentication', 'VerifyUser',
],
'title' => 'Others',
'type' => 'directory',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'ApplyEciScalingConfiguration' => [
'summary' => 'Applies a scaling configuration of the Elastic Container Instance type. If you want to create and manage scaling configurations of the Elastic Container Instance type by using a configuration file, you can call the ApplyEciScalingConfiguration operation.',
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '212847',
'abilityTreeNodes' => ['FEATUREessWJGIW5', 'FEATUREessT4M3WE'],
],
'parameters' => [
[
'name' => 'Content',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n"
.'kind: Deployment'."\n"
.'metadata:'."\n"
.' name: nginx-deployment'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' spec:'."\n"
.' replicas: 3'."\n"
.' selector:'."\n"
.' matchLabels:'."\n"
.' app: nginx'."\n"
.' template:'."\n"
.' metadata:'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' annotations:'."\n"
.' k8s.aliyun.com/eip-bandwidth: 10'."\n"
.' k8s.aliyun.com/eci-with-eip: true'."\n"
.' spec:'."\n"
.' containers:'."\n"
.' - name: nginx'."\n"
.' image: nginx:1.14.2'."\n"
.' ports:'."\n"
.' - containerPort: 80', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'Format',
'in' => 'query',
'schema' => ['description' => 'Optional. Set the value to YAML.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration.'."\n"
."\n"
.'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''],
],
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ApplyEciScalingConfiguration',
'description' => '基于YAML配置文件管理ECI类型的伸缩配置时,您需要注意以下事项:'."\n"
."\n"
.'- 如果指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件更新ECI类型的伸缩配置。'."\n"
.'- 如果未指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件创建对应ECI类型的伸缩配置。',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:ApplyEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp16har3jpj6fjbx****\\"\\n}","type":"json"}]',
],
'ApplyScalingGroup' => [
'summary' => 'Creates and manages scaling groups by using configuration files. You can call the ApplyScalingGroup operation to create and manage scaling groups by using configuration files with efficiency.',
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '206521',
'abilityTreeNodes' => ['FEATUREessGIWHSQ', 'FEATUREessXN6KX4'],
],
'parameters' => [
[
'name' => 'Content',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n"
.'kind: Deployment'."\n"
.'metadata:'."\n"
.' name: nginx-deployment'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' spec:'."\n"
.' replicas: 3'."\n"
.' selector:'."\n"
.' matchLabels:'."\n"
.' app: nginx'."\n"
.' template:'."\n"
.' metadata:'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' annotations:'."\n"
.' k8s.aliyun.com/eip-bandwidth: 10'."\n"
.' k8s.aliyun.com/eci-with-eip: true'."\n"
.' spec:'."\n"
.' containers:'."\n"
.' - name: nginx'."\n"
.' image: nginx:1.14.2'."\n"
.' ports:'."\n"
.' - containerPort: 80', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****'],
'ScalingGroupId' => ['description' => 'The ID of the enabled scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]',
'title' => 'ApplyScalingGroup',
'description' => 'You can call the ApplyScalingGroup operation to create scaling groups of the Elastic Container Instance type with ease. The resources of the scaling groups are defined in Kubernetes Deployment YAML files. You can also call this operation to extend annotations for elastic container instances in Kubernetes Deployment YAML files. For more information, see "Supported annotations" in this topic.'."\n"
."\n"
.'Mapping between YAML files and scaling groups: You can map the triplet of namespace, kind, and name in a YAML file to a scaling group name. A YAML file and a scaling group have a one-to-one mapping relationship in a region. For example, if you use the Kubernetes Deployment YAML file whose name is NGINX in the default namespace to create a scaling group in a region, the unique name of the mapped scaling group is k8s\\_default\\_Deployment\\_nginx.'."\n"
."\n"
.'You can use a Kubernetes Deployment YAML file to manage a scaling group based on the following logic:'."\n"
."\n"
.'* If an existing scaling group has a mapping relationship with your Kubernetes Deployment YAML file, you can update the scaling group by using the YAML file.'."\n"
.'* If no scaling group that has a mapping relationship with your Kubernetes Deployment YAML file exists, you can create a scaling group with ease by using the YAML file.'."\n"
."\n"
.'1. If you do not specify a virtual private cloud (VPC), vSwitch, security group, or annotation in your Kubernetes Deployment YAML file, the system creates a default VPC that has default vSwitches and uses the default security group ess-default-sg of Auto Scaling. By default, the security group rule allows traffic on Transmission Control Protocol (TCP)-based port 22 and port 3389 and enables Internet Control Message Protocol (ICMP) for IPv4 addresses. If you want to enable other ports or protocols, you can create custom security group rules.'."\n"
.'2. If you want to use a public image, you must enable the Internet access feature and configure the k8s.aliyun.com/eci-with-eip pod annotation to enable the elastic IP address (EIP) feature.'."\n"
.'3. After you call the ApplyScalingGroup operation to apply a Kubernetes Deployment YAML file, the scaling group immediately enters the Enabled state and the scaling configuration immediately enters the Active state. If the number of replicas that you specified in the YAML file is grater than 0, elastic container instances are automatically created.'."\n"
."\n"
.'### Supported annotations'."\n"
."\n"
.'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n"
."\n"
.'|Annotation|Example|Description|'."\n"
.'|---|---|---|'."\n"
.'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum size of the scaling group that you want to create. Default value: 0.|'."\n"
.'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum size of the scaling group that you want to create. Default value: maximum number of replicas or 30, whichever is greater.|'."\n"
.'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The IP address of the Network Time Protocol (NTP) server.|'."\n"
.'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specifications of 2 vCPUs and 4 GiB of memory. For more information, see [Create pods by specifying multiple specifications](~~451267~~).|'."\n"
.'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c\\*\\*\\*\\*|The ID of the vSwitch. You can specify multiple vSwitches to specify multiple zones.|'."\n"
.'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv\\*\\*\\*\\*|The ID of the security group. Before you configure this annotation, take note of the following requirements:
- You can specify one or more security groups. You can specify up to five security groups for each scaling group.
- If you specify multiple security groups, the security groups must belong to the same VPC.
- If you specify multiple security groups, the security groups must be of the same type.
|'."\n"
.'|k8s.aliyun.com/eci-sls-enable|"false"|If you set the value to false, the log collection feature is disabled.'."\n"
."\n"
.'If you do not want to use Custom Resource Definition (CRD) for Simple Log Service to collect logs of specific pods, you can configure this annotation for the pods and set the value to false. This prevents resource wastes caused by Logtails created by the system.|'."\n"
.'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for preemptible instances. Valid values:- SpotWithPriceLimit: The instances are created as preemptible instances with a maximum hourly price. If you set the value to SpotWithPriceLimit, you must configure the k8s.aliyun.com/eci-spot-price-limit annotation.
- SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.
|'."\n"
.'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price of preemptible instances. This value can be accurate to up to three decimal places.'."\n"
."\n"
.'This annotation takes effect only when you set the k8s.aliyun.com/eci-spot-strategy annotation to SpotWithPriceLimit.|'."\n"
.'|k8s.aliyun.com/eci-with-eip|"true"|If you set the value to true, an elastic IP address (EIP) is automatically created and bound to each elastic container instance.|'."\n"
.'|k8s.aliyun.com/eci-data-cache-bucket|default|The bucket of data caches. If you want to create a pod based on data caches, you must configure this annotation.|'."\n"
.'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk that you want to create based on data caches.'."\n"
."\n"
.'By default, enterprise SSDs (ESSDs) are created. Default value: PL1.|'."\n"
.'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n"
."\n"
.'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n"
.'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether the Burst feature is enabled for the ESSD AutoPL disk. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n"
."\n"
.'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n"
.'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The tags that you want to add to each elastic container instance. You can add up to three tags for each elastic container instance. Separate a tag key and a tag value with a colon (:). Separate multiple tags with commas (,).|',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:ApplyScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'operationType' => 'write',
],
'AttachAlbServerGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125338',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n"
."\n"
.'Examples: `cn-hangzhou` and `cn-shanghai`. For more information about regions and zones, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'ForceAttach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new ALB server group. Valid values:'."\n"
."\n"
.'* true: adds the existing ECS instances or elastic container instances in the scaling group to the new ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are added to the ALB server group.'."\n"
.'* false: does not add the existing ECS instances or elastic container instances in the scaling group to the new ALB server group.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'AlbServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the ALB server groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the ALB server group.'."\n",
'type' => 'object',
'properties' => [
'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n"
."\n"
.'You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****'],
'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance after being added as a backend server to the ALB server group. Valid values: 0 to 100.'."\n"
."\n"
.'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If you assign zero weight to an instance, the instance is allocated no access requests.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100'],
'Port' => ['description' => 'The port used by ECS instances or elastic container instances after being added as backend servers to the ALB server group.'."\n"
."\n"
.'Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22'],
],
'required' => false,
],
'required' => true,
'maxItems' => 100,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the ALB server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the ALB server group.'."\n"
."\n"
.'> This parameter is returned only if you set `ForceAttach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'AttachAlbServerGroups',
'summary' => 'Attaches Application Load Balancer (ALB) server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachAlbServerGroups operation. By attaching ALB server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachAlbServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'AttachDBInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125394',
'abilityTreeNodes' => ['FEATUREessJZ6DNF'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1avr6ensitts3w****'],
],
[
'name' => 'ForceAttach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to add the private IP addresses of all ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance that you want to attach to the scaling group. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n"
."\n"
.'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'DBInstances',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ApsaraDB RDS instances that you want to attach to the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ApsaraDB RDS instance that you want to attach to the scaling group.'."\n"
."\n"
.'> You can attach up to five ApsaraDB RDS instances to a scaling group at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3**** '."\n"],
'required' => true,
'maxItems' => 5,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
[
'name' => 'AttachMode',
'in' => 'query',
'schema' => ['description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n"
."\n"
.'* SecurityIp: adds the private IP addresses of scaled out ECS instances to the IP address whitelist of the database. Take note that you can choose this mode only when the database that you want to attach is an ApsaraDB RDS instance.'."\n"
.'* SecurityGroup: adds the security group of the scaling configuration based on which ECS instances are created in the scaling group to the security group whitelist of the database for registration.'."\n"
."\n"
.'Default value: SecurityIp.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SecurityIp'],
],
[
'name' => 'Type',
'in' => 'query',
'schema' => ['description' => 'The type of the database that you want to attach to the scaling group. Valid values:'."\n"
."\n"
.'* RDS'."\n"
.'* Redis'."\n"
.'* MongoDB'."\n"
."\n"
.'Default value: RDS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'RDS'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'AttachDBInstances',
'summary' => 'Associates one or more ApsaraDB RDS instances with a scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachDBInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'AttachInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125356',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'Entrusted',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to use the scaling group to manage the lifecycles of manually added instances. Valid values:'."\n"
."\n"
.'* true: The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n"
.'* false: The scaling group does not manage the lifecycles of manually added instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n"
."\n"
.'> You cannot specify this parameter for subscription instances, non-Alibaba Cloud instances, and instances in Economical Mode.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ECS instance, elastic container instance, non-Alibaba Cloud instance, or instance in Economical Mode.'."\n"
."\n"
.'Sample IDs:'."\n"
."\n"
.'* ECS instance: i-28wt4\\*\\*\\*\\*.'."\n"
.'* Elastic container instance: eci-bp17gw49eu09yiwm\\*\\*\\*\\*.'."\n"
.'* Non-Alibaba Cloud instance: mi-2cx\\*\\*\\*\\*\\*.'."\n"
.'* ECS instance in Economical Mode: i-2cd2f\\*\\*\\*\\*.'."\n"
."\n"
.'> You can add only instances of the same type to a scaling group at a time in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'LoadBalancerWeights',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n",
'type' => 'array',
'items' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 1 to 100.'."\n"
."\n"
.'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'LifecycleHook',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to trigger the lifecycle hook for scale-outs when you call this operation. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'IgnoreInvalidInstance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to ignore invalid instances when a batch of instances is added to the scaling group. Valid values:'."\n"
."\n"
.'* true: ignores invalid instances. If invalid instances exist and valid instances are added, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n"
.'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to add to the scaling group, an error is reported.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1crxor24s28xf1****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'errorCodes' => [
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''],
],
],
'title' => 'AttachInstances',
'summary' => 'Adds instances to a scaling group to provide services or restarts Elastic Compute Service (ECS) instances stopped in Economical Mode to provide services. You can call the AttachInstances operation to add ECS instances, elastic container instances, or third-party instances managed by Alibaba Cloud to your scaling group to provide services. You can also call this operation to restart ECS instances stopped in Economical Mode in your scaling group to provide services.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'AttachLoadBalancers' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125378',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1avr6ensitts3w****'],
],
[
'name' => 'ForceAttach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to add the existing instances in the scaling group as backend servers of the load balancer. Valid values:'."\n"
."\n"
.'* true: If you set this parameter to `true`, the attachment of the load balancer entails the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** If a load balancer is currently attached to your scaling group, and you only want to add the instances in your scaling group to the backend server groups of the load balancer, you can call this operation again and set ForceAttach request to true.'."\n"
."\n"
.'* false: If you set this parameter to false, the attachment of the load balancer does not entail the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'Async',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to attach the CLB instance to the scaling group in an asynchronous manner. If you attach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true. Valid values:'."\n"
."\n"
.'* true: attaches the CLB instance to the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n"
.'* false: does not attach the CLB instance to the scaling group in an asynchronous manner.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'LoadBalancers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the load balancers that you want to attach to the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n"
."\n"
.'> In each call, you can attach up to five load balancers to a scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs**** '."\n"],
'required' => false,
'maxItems' => 5,
],
],
[
'name' => 'LoadBalancerConfigs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The configurations of the classic load balancer (CLB, formerly known as SLB) instance.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5**** '],
'Weight' => ['description' => 'The weight of an Elastic Compute Service (ECS) instance or elastic container instance as a backend sever of the CLB instance. If an instance has a higher weight, more access traffic is routed to the instance. If an instance has zero weight, no access traffic is routed to the instance.'."\n"
."\n"
.'Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
'required' => false,
],
'required' => false,
'maxItems' => 20,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n"
."\n"
.'This parameter is returned only if you set `Async` to `true`. You can call the DescribeScalingActivities operation to query the scaling activity IDs and status.'."\n", 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****'],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'title' => 'AttachLoadBalancers',
'summary' => 'Attaches load balancers to a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups. Load balancers help distribute the access traffic to the instances in scaling groups, which effectively improves the service performance of the scaling groups. You can call the AttachLoadBalancers operation to attach one or more load balancers to your scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachLoadBalancers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'AttachServerGroups' => [
'summary' => 'Attaches server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachServerGroups operation. By attaching Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '166342',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'ForceAttach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances (ECI) in the scaling group to the server group. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the server groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The information about the server group.'."\n",
'type' => 'object',
'properties' => [
'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''],
'Type' => ['description' => 'The type of the server group. Valid Values:'."\n"
."\n"
.'* ALB'."\n"
.'* NLB'."\n"
.'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS or ECI instance as a backend server of the server group. Valid values: 0 to 100'."\n"
."\n"
.'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If the weight is 0, the ECS or ECI instance does not receive access requests.'."\n"
."\n"
.'> For ALB and NLB types, this parameter is required. GWLB type cannot be set.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port used by ECS or ECI instances after being added as backend servers to the server group.'."\n"
."\n"
.'Valid values: 1 to 65535.'."\n"
."\n"
.'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the server group.'."\n"
."\n"
.'> This parameter is returned only if you set ForceAttach to true.'."\n", 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'AttachServerGroups',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'AttachVServerGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125332',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai. For information about regions and zones, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'ForceAttach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new vServer group. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'VServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the vServer groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the vServer groups.'."\n",
'type' => 'object',
'properties' => [
'VServerGroupAttributes' => [
'description' => 'The attributes of the vServer group.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the vServer group attributes.'."\n",
'type' => 'object',
'properties' => [
'VServerGroupId' => ['description' => 'The ID of the vServer group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****'],
'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 0 to 100.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'],
'Port' => ['description' => 'The port number over which Auto Scaling adds ECS instances or elastic container instances to the new vServer group. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'],
],
'required' => false,
],
'required' => false,
'maxItems' => 100,
],
'LoadBalancerId' => ['description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge**** '."\n"],
],
'required' => false,
],
'required' => true,
'maxItems' => 100,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'AttachVServerGroups',
'summary' => 'Attaches vServer groups to a scaling group. After a Classic Load Balancer (CLB) instance is attached to your scaling group, the instances in the scaling group are automatically added as backend servers of the CLB instance. These servers then handle requests forwarded by the CLB instance, streamlining the processing of incoming traffic. To direct varying access requests to separate backend servers or to distribute requests based on domain names or URLs, you can call the AttachVServerGroups operation. This operation enables the addition of multiple vServer groups, allowing for efficient management of various backend server configurations tailored to your routing preferences.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachVServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'CancelInstanceRefresh' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '234868',
'abilityTreeNodes' => ['FEATUREessPV8ZVU'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'InstanceRefreshTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-aca123sf****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'CancelInstanceRefresh',
'summary' => 'Cancels an instance refresh task. Take note that instances whose configurations were already updated by running an instance refresh task remain intact even after you cancel the task.',
'description' => '* You cannot call this operation to cancel instance refresh tasks that are being rolled back.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:CancelInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ChangeResourceGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '163908',
'abilityTreeNodes' => ['FEATUREessGIWHSQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup'],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group that you want to move from the current resource group to another resource group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp17xb4x1vr29lgt****'],
],
[
'name' => 'NewResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which you want to move the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'rg-aek2ckjqe3*****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]',
'title' => 'ChangeResourceGroup',
'summary' => 'Changes a resource group. Resource groups are a means to categorize and manage cloud resources, such as scaling groups, based on specific objectives, permissions, or ownership. In large, multifaceted organizations that manage numerous projects and users, this feature adopts a tiered management approach, simplifying management tasks and improving the effectiveness and oversight of resource allocation. You can call the ChangeResourceGroup operation to move your scaling groups from one resource group to another resource group, which facilitates streamlined monitoring and management within the context of the new group. This operation eliminates the need for repetitive and time-consuming cross-service resource queries, thereby enhancing operational efficiency.',
'description' => '* A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n"
.'* A resource group serves as a powerful organizational tool within your Alibaba Cloud account, enabling you to manage and monitor multiple resources collectively. It effectively addresses complexities surrounding resource categorization and permission control under a single Alibaba Cloud account, thereby enhancing management efficiency and control. For more information, see [What is resource management?](~~94475~~)'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ChangeResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'CompleteLifecycleAction' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125379',
'abilityTreeNodes' => ['FEATUREessKFTMD6'],
],
'parameters' => [
[
'name' => 'LifecycleHookId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp14g3ee6bt3sc98****'],
],
[
'name' => 'LifecycleActionToken',
'in' => 'query',
'schema' => ['description' => 'The token of the lifecycle action. You can obtain the token from the Simple Message Queue (SMQ, formerly MNS) queue or topic that is specified for the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'aaaa-bbbbb-cccc-ddddd'],
],
[
'name' => 'LifecycleActionResult',
'in' => 'query',
'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n"
."\n"
.'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n"
.'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n"
.'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n"
."\n"
.'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n"
."\n"
.'If multiple lifecycle hooks exist in a scaling group and the lifecycle hooks are triggered at the same time, the following rules apply:'."\n"
."\n"
.'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to ABANDON or ROLLBACK time out, other lifecycle hooks time out ahead of schedule.'."\n"
.'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to CONTINUE, Auto Scaling performs the next action only after the last lifecycle hook times out. The action that Auto Scaling performs varies based on the value that you specify for the LifecycleActionResult parameter of the lifecycle hook that last times out.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****'],
],
],
],
],
'title' => 'CompleteLifecycleAction',
'summary' => 'Ends the timeout period of a lifecycle hook ahead of schedule. If you have created a lifecycle hook for your scaling group, you can call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule based on your business requirements.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:CompleteLifecycleAction',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]',
],
'CreateAlarm' => [
'summary' => 'Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125363',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestAlarmTask', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The scaling group ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The metric name. The valid values of this parameter vary based on the metric type.'."\n"
."\n"
.'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n"
."\n"
.'* If you set MetricType to system, this parameter has the following valid values:'."\n"
."\n"
.' * CpuUtilization: the CPU utilization. Unit: %.'."\n"
.' * ConcurrentConnections: the number of concurrent connections.'."\n"
.' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n"
.' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n"
.' * VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n"
.' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n"
.' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n"
.' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n"
.' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n"
.' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n"
.' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n"
.' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n"
.' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n"
.' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n"
.' * MemoryUtilization: the memory usage. Unit: %.'."\n"
.' * LoadAverage: the average system load.'."\n"
.' * TcpConnection: the total number of TCP connections.'."\n"
.' * TcpConnection: the number of established TCP connections.'."\n"
.' * PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.'."\n"
.' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n"
.' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n"
.' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n"
.' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n"
.' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n"
.' * LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The metric type. Valid values:'."\n"
."\n"
.'* system: system metrics of CloudMonitor.'."\n"
.'* custom: custom metrics that are reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'default' => 'system', 'title' => ''],
],
[
'name' => 'Period',
'in' => 'query',
'schema' => ['description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n"
."\n"
.'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'default' => '300', 'title' => ''],
],
[
'name' => 'Statistics',
'in' => 'query',
'schema' => ['description' => 'The statistical method of the metric data. Valid values:'."\n"
."\n"
.'* Average: calculates the average value of the metric data.'."\n"
.'* Minimum: calculates the minimum value of the metric data.'."\n"
.'* Maximum: calculates the maximum value of the metric data.'."\n"
."\n"
.'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'default' => 'Average', 'title' => ''],
],
[
'name' => 'Threshold',
'in' => 'query',
'schema' => ['description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80.0', 'title' => ''],
],
[
'name' => 'ComparisonOperator',
'in' => 'query',
'schema' => ['description' => 'The operator that you want to use to compare the metric value and the threshold. Valid values:'."\n"
."\n"
.'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n"
.'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n"
.'* If the metric value is greater than the metric threshold, set the value to >.'."\n"
.'* If the metric value is less than the metric threshold, set the value to <.'."\n"
."\n"
.'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'default' => '>=', 'title' => ''],
],
[
'name' => 'EvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before the scaling rule is executed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '3', 'title' => ''],
],
[
'name' => 'GroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''],
],
[
'name' => 'Effective',
'in' => 'query',
'schema' => ['description' => 'The effective period of the event-triggered task. By default, the event-triggered task is in effect all the time.'."\n"
."\n"
.'This parameter follows the cron expression format. The default format is `X X X X X ?`. In the format:'."\n"
."\n"
.'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n"
.'* ?: No value is specified.'."\n"
."\n"
.'> By default, this parameter value is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n"
."\n"
.'Sample values:'."\n"
."\n"
.'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n"
.'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n"
.'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''],
],
[
'name' => 'AlarmActions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n",
'type' => 'array',
'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'Dimensions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The metric dimensions.'."\n",
'type' => 'array',
'items' => [
'description' => 'The metric dimensions.'."\n",
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The dimension key of the metric. The valid values vary based on the metric type.'."\n"
."\n"
.'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n"
."\n"
.'* If you set MetricType to system, this parameter has the following valid values:'."\n"
."\n"
.' * user_id: the ID of your Alibaba Cloud account.'."\n"
.' * scaling_group: the scaling group that you want to monitor by using the event-triggered task.'."\n"
.' * device: the NIC type.'."\n"
.' * state: the status of the TCP connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''],
'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n"
."\n"
.'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n"
."\n"
.'* If you set MetricType to system, this parameter has the following valid values:'."\n"
."\n"
.' * user_id: The system specifies the value.'."\n"
."\n"
.' * scaling_group: The system specifies the value.'."\n"
."\n"
.' * device: You can set this parameter to eth0 or eth1.'."\n"
."\n"
.' * For instances of the classic network type, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n"
.' * For instances of the classic network type, eth1 specifies the public NIC.'."\n"
."\n"
.' * state: You can set this parameter to TCP_TOTAL or ESTABLISHED.'."\n"
."\n"
.' * TCP_TOTAL specifies the total number of TCP connections.'."\n"
.' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'Expressions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the multi-metric alert rules.'."\n",
'type' => 'array',
'items' => [
'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n",
'type' => 'object',
'properties' => [
'MetricName' => ['description' => 'The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.'."\n"
."\n"
.'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n"
."\n"
.'* If you set MetricType to system, this parameter has the following valid values:'."\n"
."\n"
.' * CpuUtilization: the CPU utilization. Unit: %.'."\n"
.' * ConcurrentConnections: the number of concurrent connections.'."\n"
.' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n"
.' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n"
.' * VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n"
.' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n"
.' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n"
.' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n"
.' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n"
.' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n"
.' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n"
.' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n"
.' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n"
.' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n"
.' * MemoryUtilization: the memory usage. Unit: %.'."\n"
.' * LoadAverage: the average system load.'."\n"
.' * TcpConnection: the total number of TCP connections.'."\n"
.' * TcpConnection: the number of established TCP connections.'."\n"
.' * PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n"
.' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n"
.' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n"
.' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n"
.' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n"
.' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n"
.' * LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''],
'ComparisonOperator' => ['description' => 'The operator that you want to use to compare the metric value and the threshold in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n"
.'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n"
.'* If the metric value is greater than the metric threshold, set the value to >.'."\n"
.'* If the metric value is less than the metric threshold, set the value to <.'."\n"
."\n"
.'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''],
'Period' => ['description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n"
."\n"
.'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''],
'Statistics' => ['description' => 'The method that you want to use to aggregate the metric data in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* Average: the average value.'."\n"
.'* Minimum: the minimum value'."\n"
.'* Maximum: the maximum value'."\n"
."\n"
.'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''],
'Threshold' => ['description' => 'The threshold of the metric value in the multi-metric alert rule. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'ExpressionsLogicOperator',
'in' => 'query',
'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n"
.'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.'."\n"
."\n"
.'Default value: `&&`.'."\n", 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'CreateAlarm',
'description' => '* If you set MetricType to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n"
."\n"
.'* When you create an event-triggered task, you must specify MetricName, Dimensions.DimensionKey, and Dimensions.DimensionValue to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify user_id and scaling_group for an event-triggered task to aggregate monitoring data of all ECS instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n"
."\n"
.' * If you create an event-triggered task of the custom monitoring type, you can specify only custom metrics in the task.'."\n"
.' * If you create an event-triggered task of the system monitoring type, you can specify the system metrics described in [Event-triggered tasks of the system monitoring type](~~74854~~) in the task.'."\n"
."\n"
.'> user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see `Dimensions.DimensionKey` and `Dimensions.DimensionValue` in the "Request parameters" section of this topic.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'operationType' => 'write',
],
'CreateDiagnoseReport' => [
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '221453',
'abilityTreeNodes' => ['FEATUREessO4WOGN'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1f2f6oxc2*******'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0189C6CB-07BA-5AFE-B533-D93892324774'],
'ReportId' => ['description' => 'The unique ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-uf6enpbnri1xhcy9qc7s'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]',
'title' => 'CreateDiagnoseReport',
'summary' => 'Creates a diagnostic report.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateDiagnoseReport',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateEciScalingConfiguration' => [
'summary' => 'Creates a scaling configuration of the Elastic Container Instance type. Auto Scaling uses the scaling configuration as a template to create elastic container instances to meet your business requirements during scale-out events.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125325',
'abilityTreeNodes' => ['FEATUREessWJGIW5'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
],
[
'name' => 'ScalingConfigurationName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n"
."\n"
.'The name of the scaling configuration must be unique in a scaling group within a region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'scalingconfig****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'desc', 'title' => ''],
],
[
'name' => 'SecurityGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n"
."\n"
.'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''],
],
[
'name' => 'ContainerGroupName',
'in' => 'query',
'schema' => ['description' => 'The name series of elastic container instances.'."\n"
."\n"
.'If you want to use an ordered instance name, specify the value for this parameter in the following format: name_prefix\\[begin_number,bits]name_suffix.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test-(AUTO_INCREMENT)[0,3]', 'title' => ''],
],
[
'name' => 'RestartPolicy',
'in' => 'query',
'schema' => ['description' => 'The restart policy of elastic container instances. Valid values:'."\n"
."\n"
.'* Always: always restarts elastic container instances.'."\n"
.'* Never: never restarts elastic container instances.'."\n"
.'* OnFailure: restarts elastic container instances upon failures.'."\n"
."\n"
.'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
],
[
'name' => 'Cpu',
'in' => 'query',
'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''],
],
[
'name' => 'Memory',
'in' => 'query',
'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''],
],
[
'name' => 'DnsPolicy',
'in' => 'query',
'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n"
."\n"
.'* None: uses the DNS that is specified by DnsConfig.'."\n"
.'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''],
],
[
'name' => 'EnableSls',
'in' => 'query',
'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ImageSnapshotId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''],
],
[
'name' => 'RamRoleName',
'in' => 'query',
'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [RAM roles](~~61175~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''],
],
[
'name' => 'TerminationGracePeriodSeconds',
'in' => 'query',
'schema' => ['description' => 'The buffer time during which a program handles operations before the program stops. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'AutoMatchImageCache',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'ActiveDeadlineSeconds',
'in' => 'query',
'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n"
."\n"
.'* NoSpot: The instances are created as pay-as-you-go instances.'."\n"
.'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n"
.'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n"
."\n"
.'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''],
],
[
'name' => 'SpotPriceLimit',
'in' => 'query',
'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n"
."\n"
.'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''],
],
[
'name' => 'AutoCreateEip',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'EipBandwidth',
'in' => 'query',
'schema' => ['description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'IngressBandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''],
],
[
'name' => 'EgressBandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''],
],
[
'name' => 'CpuOptionsCore',
'in' => 'query',
'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''],
],
[
'name' => 'CpuOptionsThreadsPerCore',
'in' => 'query',
'schema' => ['description' => 'The number of threads per core. You can specify this parameter for specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'EphemeralStorage',
'in' => 'query',
'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of performance level 1 (PL1) is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''],
],
[
'name' => 'LoadBalancerWeight',
'in' => 'query',
'schema' => ['description' => 'The load balancing weight of each elastic container instance. Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags of elastic container instances. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n"
."\n"
.'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n"
.'* A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag of the elastic container instance. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n"
."\n"
.'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n"
.'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the elastic container instance.'."\n"
."\n"
.'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''],
'Value' => ['description' => 'The tag value of the elastic container instance.'."\n"
."\n"
.'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'ImageRegistryCredentials',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The image repositories.'."\n",
'type' => 'array',
'items' => [
'description' => 'The image repository.'."\n",
'type' => 'object',
'properties' => [
'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpassword '."\n", 'title' => ''],
'Server' => ['description' => 'The endpoint of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''],
'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 11,
'title' => '',
],
],
[
'name' => 'Containers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The containers per elastic container instance.'."\n",
'type' => 'array',
'items' => [
'description' => 'The monitoring data of containers.'."\n",
'type' => 'object',
'properties' => [
'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a readiness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'SecurityContext.Capability.Add' => [
'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permission that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
],
'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''],
'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for readiness probing. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'LivenessProbe.PeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'Ports' => [
'description' => 'The ports.'."\n",
'type' => 'array',
'items' => [
'description' => 'The port.'."\n",
'type' => 'object',
'properties' => [
'Protocol' => ['description' => 'The type of the protocol. Valid values:'."\n"
."\n"
.'* TCP.'."\n"
.'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
'Port' => ['description' => 'The port. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the container runs is read-only.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'EnvironmentVars' => [
'description' => 'The environment variables.'."\n",
'type' => 'array',
'items' => [
'description' => 'The environment variable.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the \\[0-9a-zA-Z] format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''],
'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 301,
'title' => '',
],
'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''],
'Tty' => ['description' => 'Specifies whether to enable interaction. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'If the command is a /bin/bash command, set the value to true.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''],
'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for liveness probing. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''],
'Args' => [
'description' => 'The startup arguments of the container. You can specify up to 10 arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The startup argument of the container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Memory' => ['description' => 'The memory size that you want to allocate to the container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''],
'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx '."\n", 'title' => ''],
'Image' => ['description' => 'The image in the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''],
'LivenessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'VolumeMounts' => [
'description' => 'The volume mounts of the container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume mount of the container.'."\n",
'type' => 'object',
'properties' => [
'MountPropagation' => ['description' => 'The mount propagation setting. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed on the volume or its subdirectories are not propagated to the volume.'."\n"
.'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories are propagated to the volume.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories are propagated to the volume. All volume mounts executed on the container are not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''],
'MountPath' => ['description' => 'The directory in which the container mounts the volume.'."\n"
."\n"
.'> Data in this directory is overwritten by data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''],
'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Name' => ['description' => 'The volume name. The value of this parameter is the same as the value of Volumes.Name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''],
'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'LivenessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a liveness probe to be classified as failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'ReadinessProbe.Exec.Commands' => [
'description' => 'The commands executed in the container when using the command line to perform the health check.',
'type' => 'array',
'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a readiness probe to be classified as failed. Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n"
."\n"
.'* Always: Each time instances are created, image pulling is performed.'."\n"
.'* IfNotPresent: Image pulling is performed based on your business requirements. On-premises images are used by default. If no on-premises images are available, images are pulled from remote sources.'."\n"
.'* Never: Image pulling is not performed. On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions if Stdin is set to true.'."\n"
."\n"
.'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''],
'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''],
'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''],
'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a liveness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'Commands' => [
'description' => 'The commands that you want to run by using the CLI for liveness probing within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you want to run by using the CLI for liveness probing within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''],
'LivenessProbe.Exec.Commands' => [
'description' => 'The commands executed in the container when using the command line to perform the health check.',
'type' => 'array',
'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''],
'required' => false,
'maxItems' => 21,
'title' => '',
],
'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''],
'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''],
'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests that you want to send to configure the postStart callback function. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''],
'LifecyclePostStartHandlerExecs' => [
'description' => 'The commands that you want to run by using the CLI to configure the postStart callback function within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''],
'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''],
'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET requests that you want to send to configure the preStop callback function. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'LifecyclePreStopHandlerExecs' => [
'description' => 'The commands that you want to run by using the CLI to configure the preStop callback function within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'docRequired' => true,
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'Volumes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The volumes.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume.'."\n",
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''],
'DiskVolume.DiskSize' => ['description' => 'The size of the volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''],
'NFSVolume.Path' => ['description' => 'The path to the NFS volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share '."\n", 'title' => ''],
'FlexVolume.FsType' => ['description' => 'The type of the file system that you want to mount. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4 '."\n", 'title' => ''],
'DiskVolume.FsType' => ['description' => 'The type of the disk volume. We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''],
'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''],
'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/path '."\n", 'title' => ''],
'FlexVolume.Options' => ['description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n"
."\n"
.'For example, if you use FlexVolume to mount a disk, specify the value in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''],
'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''],
'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''],
'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''],
'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''],
'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''],
'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. By default, this parameter is left empty. In this case, the emptyDir volume uses the file system of the node as the storage medium. A value of memory specifies that the emptyDir volume uses the memory as the storage medium.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''],
'ConfigFileVolumeConfigFileToPaths' => [
'description' => 'The paths to the configuration files.'."\n",
'type' => 'array',
'items' => [
'description' => 'The path to the configuration file.'."\n",
'type' => 'object',
'properties' => [
'Path' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''],
'Mode' => ['description' => 'The permissions on the configuration file.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''],
'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 90,
'title' => '',
],
'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
],
[
'name' => 'InitContainers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The init containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The init container.'."\n",
'type' => 'object',
'properties' => [
'InitContainerEnvironmentVars' => [
'description' => 'The environment variables of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The environment variable of the init container.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path '."\n", 'title' => ''],
'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''],
'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 301,
'title' => '',
],
'SecurityContext.Capability.Adds' => [
'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
],
'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''],
'InitContainerPorts' => [
'description' => 'The ports of init containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The port of the init container.'."\n",
'type' => 'object',
'properties' => [
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'InitContainerVolumeMounts' => [
'description' => 'The volume mounts of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume mount of the init container.'."\n",
'type' => 'object',
'properties' => [
'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n"
.'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. All volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''],
'MountPath' => ['description' => 'The directory to which the init container mounts the volume. The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''],
'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''],
'SubPath' => ['description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''],
'WorkingDir' => ['description' => 'The working directory of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''],
'Commands' => [
'description' => 'The startup commands of the init container.'."\n",
'type' => 'array',
'items' => ['description' => 'The startup command of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep'."\n", 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'Args' => [
'description' => 'The startup arguments of the init container. You can specify up to 10 arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The startup argument of the init container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
],
'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''],
'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''],
'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'DnsConfigNameServers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IP addresses of the DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.**'."\n", 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'DnsConfigSearchs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The search domains of the DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes'."\n", 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'DnsConfigOptions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'array',
'items' => [
'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'object',
'properties' => [
'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value '."\n", 'title' => ''],
'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'HostAliases',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The custom hostnames of the containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The custom hostname of the container.'."\n",
'type' => 'object',
'properties' => [
'Ip' => ['description' => 'The IP address of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'."\n", 'title' => ''],
'Hostnames' => [
'description' => 'The hostnames of the containers that you want to add.'."\n",
'type' => 'array',
'items' => ['description' => 'The hostname of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''],
'required' => false,
'maxItems' => 51,
'title' => '',
],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
],
],
[
'name' => 'SecurityContextSysctls',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The system information of the security context in which the elastic container instance runs.'."\n",
'type' => 'array',
'items' => [
'description' => 'The system information of the security context in which the elastic container instance runs.'."\n",
'type' => 'object',
'properties' => [
'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''],
'Name' => ['description' => 'The variable name of the security context in which the container group runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax'."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 11,
'title' => '',
],
],
[
'name' => 'NtpServers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''],
'required' => false,
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'AcrRegistryInfos',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The Container Registry Enterprise Edition instances.'."\n",
'type' => 'array',
'items' => [
'description' => 'The Container Registry Enterprise Edition instance.'."\n",
'type' => 'object',
'properties' => [
'Domains' => [
'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n",
'type' => 'array',
'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com '."\n", 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
],
'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test'."\n", 'title' => ''],
'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''],
'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'CostOptimization',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'InstanceFamilyLevel',
'in' => 'query',
'schema' => ['description' => 'The level of the instance family. You can specify this parameter to match the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n"
."\n"
.'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective, but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n"
.'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n"
.'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ECS instance types that you want to use to create elastic container instances. You can specify up to five ECS instance types.'."\n",
'type' => 'array',
'items' => ['description' => 'The ECS instance type that you want to use to create elastic container instances. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
],
],
[
'name' => 'DataCacheBucket',
'in' => 'query',
'schema' => ['description' => 'The bucket that you want to use to store data caches.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'DataCachePL',
'in' => 'query',
'schema' => ['description' => 'The PL of the cloud disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values:'."\n"
."\n"
.'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n"
.'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n"
.'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n"
.'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'Default value: PL1.'."\n"
."\n"
.'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''],
],
[
'name' => 'DataCacheProvisionedIops',
'in' => 'query',
'schema' => ['description' => 'The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × *Capacity, 50,000}.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''],
],
[
'name' => 'DataCacheBurstingEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the performance burst feature when ESSD AutoPL disks are used to store data caches. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'GpuDriverVersion',
'in' => 'query',
'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n"
."\n"
.'* tesla=470.82.01 (default)'."\n"
.'* tesla=525.85.12'."\n"
."\n"
.'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'ScalingConfigurationId' => ['description' => 'The ID of the elastic container instance (container group).'."\n", 'type' => 'string', 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''],
],
],
'title' => 'CreateEciScalingConfiguration',
'description' => '伸缩配置用来指定弹性扩张时使用的ECI实例模板。'."\n"
."\n"
.'参数Cpu和Memory用于指定CPU和内存定义实例规格的范围,弹性伸缩会结合IO优化、可用区等因素确定可用实例规格集合,并根据价格排序为您创建价格最低的实例。该方式仅适用于伸缩组的扩缩容策略为成本优化策略,且伸缩配置未指定实例规格的场景。',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"eci-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]',
],
'CreateLifecycleHook' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '125396',
'abilityTreeNodes' => ['FEATUREessZQ2TYX'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'],
],
[
'name' => 'LifecycleHookName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle hook. Each lifecycle hook name must be unique within a scaling group. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n"
."\n"
.'If you do not specify this parameter, the value of the LifecycleHookId parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'],
],
[
'name' => 'LifecycleTransition',
'in' => 'query',
'schema' => ['description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n"
."\n"
.'* SCALE_OUT'."\n"
.'* SCALE_IN'."\n", 'type' => 'string', 'required' => true, 'example' => 'SCALE_OUT'],
],
[
'name' => 'DefaultResult',
'in' => 'query',
'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n"
."\n"
.'* CONTINUE: Auto Scaling continues to respond to scale-in or scale-out requests.'."\n"
.'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n"
."\n"
.'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. As a result, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out.'."\n"
."\n"
.'Default value: CONTINUE.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'],
],
[
'name' => 'HeartbeatTimeout',
'in' => 'query',
'schema' => ['description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.'."\n"
."\n"
.'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n"
."\n"
.'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'],
],
[
'name' => 'NotificationMetadata',
'in' => 'query',
'schema' => ['description' => 'The notification metadata that is sent when the lifecycle hook takes effect. This helps you manage and categorize notifications in an efficient manner. If you specify this parameter, you must specify the NotificationArn parameter. The parameter value cannot exceed 4,096 characters in length.'."\n"
."\n"
.'If you use the NotificationArn parameter to specify a public or customOOS template, the value of the NotificationMetadata parameter must be a JSON string that contains the OOS template parameters. For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Some parameters defined in your OOS template have default values. When you specify the NotificationMetadata parameter, specify parameters that do not have default values. If you specify parameters that have default values, the default values are overwritten. However, the default values of the following parameters must be retained to obtain information about scaling activities that are in progress:'."\n"
."\n"
.'* `regionId`: the region ID of the scaling activity that is in progress. Default value: ${regionId}.'."\n"
.'* `instanceIds`: the IDs of ECS instances that are scaled in in the scaling activity. Default value: ${instanceIds}.'."\n"
.'* `lifecycleHookId`: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n"
.'* `lifecycleActionToken`: the token of the lifecycle action. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n"
.'* `scalingGroupId`: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n"
."\n"
.'> You can obtain template parameter information in the [OOS console](https://oos.console.aliyun.com/).'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test lifecycle hook.'],
],
[
'name' => 'NotificationArn',
'in' => 'query',
'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the value must be in one of the following formats:'."\n"
."\n"
.'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n"
.'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n"
.'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n"
.'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of your scaling group.'."\n"
.'* account-id: the ID of the Alibaba Cloud account. IDs of Resource Access Management (RAM) users are not supported.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n"
.'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp1at9ufhmcf9cmy****'],
],
'description' => '',
],
],
],
'title' => 'CreateLifecycleHook',
'summary' => 'Creates one or more lifecycle hooks in a scaling group. A lifecycle hook allows you to execute custom actions like sending notifications or automating script execution at critical stages (such as instance startup and termination) in the lifecycle of an instance. Implementing the lifecycle hook feature allows for finer control and management of instances. For example, you can verify configurations, set up custom tasks, or back up data on your instances when lifecycle hooks take effect, thus enhancing the flexibility and reliability of application deployment.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]',
],
'CreateNotificationConfiguration' => [
'summary' => 'Creates a notification rule. You can call the CreateNotificationConfiguration operation to create a notification rule to stay informed about scaling events or resource changes. This helps you learn about the dynamic status of your scaling group in real time and further automates the management of scaling events.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125368',
'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'NotificationArn',
'in' => 'query',
'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n"
."\n"
.'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n"
.'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n"
.'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n"
."\n"
.'The variables in the preceding formats have the following meanings:'."\n"
."\n"
.'* `region-id`: the region ID of the scaling group.'."\n"
.'* `account-id`: the ID of the Alibaba Cloud account.'."\n"
.'* `queuename`: the name of the SMQ queue.'."\n"
.'* `topicname`: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''],
],
[
'name' => 'NotificationTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n"
."\n"
.'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n",
'type' => 'array',
'items' => ['description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n"
."\n"
.'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''],
'required' => true,
'maxItems' => 12,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
[
'name' => 'TimeZone',
'in' => 'query',
'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''],
],
[
'name' => 'MessageEncoding',
'in' => 'query',
'schema' => ['description' => 'The codec for the content of message notifications. Valid values:'."\n"
."\n"
.'- PlainText: No encoding; messages are transmitted in plaintext.'."\n"
.'- Base64: Messages are encoded in Base64.'."\n"
."\n"
.'Default value: Base64.'."\n"
.'> This parameter applies only to MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'CreateNotificationConfiguration',
'description' => '- You can configure message notifications to be received by CloudMonitor system events, Message Service (formerly MNS) queues, or Message Service (formerly MNS) topics. When specified scaling events or resource changes occur in a scaling group, automatic scaling notifies CloudMonitor or Message Service (formerly MNS).'."\n"
.'- Different event notifications within the same scaling group cannot share the same accepter.'."\n"
."\n"
.' For example, different event notifications cannot simultaneously use the same CloudMonitor configuration, the same MNS topic, or the same MNS queue.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'CreateScalingConfiguration' => [
'summary' => 'Creates an ECS-type scaling configuration for a scaling group by calling the CreateScalingConfiguration operation and specifying information such as the scaling group ID, instance type, and instance image.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125374',
'abilityTreeNodes' => ['FEATUREessWJGIW5'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
],
[
'name' => 'ImageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''],
],
[
'name' => 'ImageName',
'in' => 'query',
'schema' => ['description' => 'The name of the image file. Image names are unique within a region. If you set ImageId, ImageName is ignored.'."\n"
."\n"
.'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'image****', 'title' => ''],
],
[
'name' => 'InstanceType',
'in' => 'query',
'schema' => ['description' => 'The instance type of the ECS instance. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
],
[
'name' => 'Cpu',
'in' => 'query',
'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n"
."\n"
.'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price.'."\n"
.'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'Memory',
'in' => 'query',
'schema' => ['description' => 'The memory size. Unit: GiB.'."\n"
."\n"
.'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price.'."\n"
."\n"
.'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''],
],
[
'name' => 'DeploymentSetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pz****', 'title' => ''],
],
[
'name' => 'SecurityGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-280ih****', 'title' => ''],
],
[
'name' => 'IoOptimized',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the instance is an I/O optimized instance. Valid values:'."\n"
."\n"
.'none: non-I/O optimized instance.'."\n"
.'optimized: I/O optimized instance.'."\n"
."\n"
.'The default value for retired instance types is none. The default value for other instance types is optimized.', 'type' => 'string', 'required' => false, 'example' => 'optimized', 'title' => ''],
],
[
'name' => 'InternetChargeType',
'in' => 'query',
'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n"
."\n"
.'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value.'."\n"
."\n"
.'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.'."\n"
."\n"
.'If this parameter is not specified, the default value is PayByBandwidth for the classic network and PayByTraffic for VPCs.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''],
],
[
'name' => 'InternetMaxBandwidthIn',
'in' => 'query',
'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n"
."\n"
.'- If the maximum outbound public bandwidth is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n"
.'- If the maximum outbound public bandwidth is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'InternetMaxBandwidthOut',
'in' => 'query',
'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n"
."\n"
.'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'SystemDisk.Category',
'in' => 'query',
'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk.'."\n"
."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
."\n"
.'- cloud_ssd: standard SSD.'."\n"
."\n"
.'- ephemeral_ssd: local SSD.'."\n"
."\n"
.'- cloud_essd: enhanced SSD (ESSD).'."\n"
."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
."\n"
.'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, the default value is used:'."\n"
."\n"
.'- For I/O optimized instances, the default value is cloud_efficiency.'."\n"
.'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''],
],
[
'name' => 'SystemDisk.Size',
'in' => 'query',
'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n"
."\n"
.'- Basic cloud disk: 20 to 500.'."\n"
.'- ESSD:'."\n"
.' - PL0: 1 to 2048.'."\n"
.' - PL1: 20 to 2048.'."\n"
.' - PL2: 461 to 2048.'."\n"
.' - PL3: 1261 to 2048.'."\n"
.'- ESSD AutoPL cloud disk: 1 to 2048.'."\n"
.'- Other cloud disk types: 20 to 2048.'."\n"
."\n"
.'The value of this parameter must be greater than or equal to max{1, ImageSize}.'."\n"
."\n"
.'Default value: max{40, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'SystemDisk.DiskName',
'in' => 'query',
'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''],
],
[
'name' => 'SystemDisk.Description',
'in' => 'query',
'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''],
],
[
'name' => 'SystemDisk.AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''],
],
[
'name' => 'SystemDisk.PerformanceLevel',
'in' => 'query',
'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk is an ESSD. Valid values:'."\n"
."\n"
.'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n"
."\n"
.'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n"
."\n"
.'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n"
."\n"
.'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'Default value: PL1.', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''],
],
[
'name' => 'ScalingConfigurationName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a digit, letter, or Chinese character.'."\n"
."\n"
.'The scaling configuration name must be unique within a scaling group in the same region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'example' => 'scalingconfig****', 'title' => ''],
],
[
'name' => 'LoadBalancerWeight',
'in' => 'query',
'schema' => ['description' => 'The weight of the ECS instance as a backend server of the associated load balancing instance. Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'Tags',
'in' => 'query',
'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to Key and Value:'."\n"
.' '."\n"
.'- Key can be up to 64 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Key cannot be an empty string.'."\n"
.'- Value can be up to 128 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''],
],
[
'name' => 'UserData',
'in' => 'query',
'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''],
],
[
'name' => 'KeyPairName',
'in' => 'query',
'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n"
.' '."\n"
.'- For Windows instances, this parameter is ignored and is empty by default. '."\n"
.'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPairTest', 'title' => ''],
],
[
'name' => 'RamRoleName',
'in' => 'query',
'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by Resource Access Management (RAM). You can call ListRoles to query available RAM roles.', 'type' => 'string', 'required' => false, 'example' => 'ramrole****', 'title' => ''],
],
[
'name' => 'SecurityEnhancementStrategy',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable security hardening. Valid values:'."\n"
."\n"
.'- Active: enables security hardening. This value is applicable only to public images.'."\n"
.'- Deactive: disables security hardening. This value is applicable to all image types.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'InstanceName',
'in' => 'query',
'schema' => ['description' => 'The name of the ECS instance that is automatically created by using this scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'instance****', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
'schema' => ['description' => 'The hostname of the ECS instance. A period (.) or hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type:'."\n"
."\n"
.'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or be composed entirely of digits.'."\n"
.'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'host****', 'title' => ''],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n"
.' '."\n"
.'- NoSpot: a regular pay-as-you-go instance.'."\n"
.'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n"
.'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.'."\n"
."\n"
.'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''],
],
[
'name' => 'PasswordInherit',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, make sure that a password is configured for the image. Valid values:'."\n"
."\n"
.'- true: uses the password preset in the image.'."\n"
.'- false: does not use the password preset in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Password',
'in' => 'query',
'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n"
."\n"
.'\\`()` ~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/`'."\n"
."\n"
.'For Windows instances, the password cannot start with a forward slash (/).'."\n"
."\n"
.'> If you specify the Password parameter, use HTTPS to send the request to avoid password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-resource****', 'title' => ''],
],
[
'name' => 'HpcClusterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''],
],
[
'name' => 'InstanceDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'CreditSpecification',
'in' => 'query',
'schema' => ['description' => 'The running pattern of the burstable instance. Valid values:'."\n"
."\n"
.'- Standard: standard mode.'."\n"
."\n"
.'- Unlimited: unlimited mode.'."\n"
."\n"
.'For more information, see the performance mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''],
],
[
'name' => 'ImageFamily',
'in' => 'query',
'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''],
],
[
'name' => 'ZoneId',
'in' => 'query',
'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''],
],
[
'name' => 'DedicatedHostId',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n"
."\n"
.'You can call DescribeDedicatedHosts to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''],
],
[
'name' => 'Affinity',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n"
."\n"
.'- default: the instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the original dedicated host has insufficient available resources.'."\n"
."\n"
.'- host: the instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the original dedicated host has insufficient available resources, the instance fails to restart.'."\n"
."\n"
.'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'Tenancy',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n"
."\n"
.'- default: creates a non-dedicated host instance.'."\n"
."\n"
.'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n"
."\n"
.'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'SchedulerOptions',
'in' => 'query',
'style' => 'json',
'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''],
],
[
'name' => 'PrivatePoolOptions.MatchCriteria',
'in' => 'query',
'schema' => ['description' => 'The private pool option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to use at startup. Valid values:'."\n"
."\n"
.'- Open: open mode. The system automatically matches open private pools. If no matching private pool is available, public pool resources are used. You do not need to set the PrivatePoolOptions.Id parameter in this mode.'."\n"
."\n"
.'- Target: specified mode. A specified private pool is used to start the instance. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID, which means the PrivatePoolOptions.Id parameter is required.'."\n"
."\n"
.'- None: none mode. Private pools are not used for instance startup.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''],
],
[
'name' => 'PrivatePoolOptions.Id',
'in' => 'query',
'schema' => ['description' => 'The private pool ID, which is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
],
[
'name' => 'SpotDuration',
'in' => 'query',
'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n"
."\n"
.'- 1: After the instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n"
.'- 0: After the instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n"
."\n"
.'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. We recommend that you select an appropriate protection period based on the expected task execution duration.'."\n"
."\n"
.'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'SpotInterruptionBehavior',
'in' => 'query',
'schema' => ['description' => 'The interruption mode of the spot instance. Only terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\n"
."\n"
.'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.',
'type' => 'array',
'items' => ['description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\n"
."\n"
.'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstanceTypeOverrides',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the specified instance types.',
'type' => 'array',
'items' => [
'description' => 'The information about the specified instance types.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify both this parameter and WeightedCapacity.'."\n"
."\n"
.'This parameter specifies ECS instance type and overrides ECS instance type in the launch template. You can specify N instance types to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n"
."\n"
.'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n"
."\n"
.'Valid values of InstanceType: instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''],
'WeightedCapacity' => ['description' => 'If you want to specify the capacity of instance types in the scaling configuration, specify this parameter after you specify InstanceTypeOverrides.InstanceType.'."\n"
."\n"
.'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n"
."\n"
.'Because instance types differ in the number of vCPUs, memory size, and other performance metrics, you can configure different weights for different instance types based on your requirements.'."\n"
."\n"
.' Example:'."\n"
."\n"
.'- Current capacity: 0.'."\n"
.'- Expected number of instances: 6.'."\n"
.'- Capacity of ecs.c5.xlarge: 4.'."\n"
."\n"
.'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n"
."\n"
.'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n"
."\n"
.'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'DataDisks',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'array',
'items' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'object',
'properties' => [
'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk is an ESSD. Valid values:'."\n"
."\n"
.'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n"
.'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n"
.'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n"
.'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'> For information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''],
'Encrypted' => ['description' => 'Specifies whether to encrypt the data cloud disk. Valid values:'."\n"
."\n"
.'- true: encrypts the data cloud disk.'."\n"
.'- false: does not encrypt the data cloud disk.'."\n"
."\n"
.'Default value: false.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''],
'Description' => ['description' => 'The description of the data cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''],
'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If this parameter is specified, DataDisks.Size is ignored, and the size of the created disk is the size of the specified snapshot.'."\n"
."\n"
.'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-280s7****', 'title' => ''],
'Categories' => [
'description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.',
'type' => 'array',
'items' => ['description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n"
."\n"
.'- cloud: 5 to 2000.'."\n"
.'- cloud_efficiency: 20 to 32768.'."\n"
.'- cloud_essd: 20 to 32768.'."\n"
.'- ephemeral_ssd: 5 to 800.'."\n"
."\n"
.'If this parameter is specified, the disk size must be greater than or equal to the snapshot size (the snapshot is specified by SnapshotId).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the mount point is allocated by the system by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''],
'DiskName' => ['description' => 'The name of the data cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''],
'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'This parameter cannot be specified together with DataDisk.Categories. If neither this parameter nor DataDisk.Categories is specified, the default value is used:'."\n"
.'- For I/O optimized instances, the default value is cloud_efficiency.'."\n"
.'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''],
'DeleteWithInstance' => ['description' => 'Specifies whether to release the data cloud disk when the instance is released. Valid values:'."\n"
."\n"
.'- true: releases the data cloud disk when the instance is released.'."\n"
.'- false: retains the data cloud disk when the instance is released.'."\n"
."\n"
.'This parameter can be set only for independent cloud disks (DataDisks.Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd). Otherwise, an error is returned.'."\n"
."\n"
.'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metric of the data cloud disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) measures the number of read/write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n"
."\n"
.'- true: enables the feature.'."\n"
.'- false: does not enable the feature. '."\n"
.'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n"
."\n"
.'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 16,
'title' => '',
'example' => '',
],
],
[
'name' => 'SpotPriceLimits',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of billing information for spot instances.',
'type' => 'array',
'items' => [
'description' => 'The collection of billing information for spot instances.',
'type' => 'object',
'properties' => [
'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''],
'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'SecurityGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n"
."\n"
.'> You cannot specify both SecurityGroupId and SecurityGroupIds.',
'type' => 'array',
'items' => ['description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n"
."\n"
.'> You cannot specify both SecurityGroupId and SecurityGroupIds.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''],
'required' => false,
'maxItems' => 16,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstancePatternInfos',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'array',
'items' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'object',
'properties' => [
'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~).'."\n"
."\n"
.'Note the following information:'."\n"
."\n"
.'- The InstancePatternInfos parameter applies only to scaling groups whose network type is VPC.'."\n"
."\n"
.'- You must specify both InstancePatternInfos.Cores and InstancePatternInfos.Memory for the InstancePatternInfos parameter.'."\n"
."\n"
.'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. If the specified instance types are out of stock, Auto Scaling uses the instance type with the lowest price among the instance types that match the InstancePatternInfos parameter values for scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n"
."\n"
.'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but cannot guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n"
.'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources, and are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n"
.'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These instance types use CPU credits to ensure computing performance and are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''],
'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n"
."\n"
.'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''],
'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'ExcludedInstanceTypes' => [
'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes the entire c6 instance family.',
'type' => 'array',
'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'Architectures' => [
'description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.'."\n"
."\n"
.'Default value: all architecture types are included.',
'type' => 'array',
'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.'."\n"
."\n"
.'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n"
."\n"
.'- Exclude: excludes burstable instance types.'."\n"
.'- Include: includes burstable instance types.'."\n"
.'- Required: includes only burstable instance types.'."\n"
."\n"
.'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''],
'InstanceTypeFamilies' => [
'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.',
'type' => 'array',
'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n"
."\n"
.'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
'GpuSpecs' => [
'description' => 'The GPU type.',
'type' => 'array',
'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'InstanceCategories' => [
'description' => 'The instance categorization. Valid values:'."\n"
."\n"
.'> N specifies that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n"
."\n"
.'- General-purpose: general-purpose'."\n"
.'- Compute-optimized: compute-optimized'."\n"
.'- Memory-optimized: memory-optimized'."\n"
.'- Big data: big data'."\n"
.'- Local SSDs: local SSD'."\n"
.'- High Clock Speed: high frequency'."\n"
.'- Enhanced: enhanced'."\n"
.'- Shared: shared'."\n"
.'- Compute-optimized with GPU: GPU computing'."\n"
.'- Visual Compute-optimized: visual compute-optimized'."\n"
.'- Heterogeneous Service: heterogeneous service'."\n"
.'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n"
.'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n"
.'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n"
.'- High Performance Compute: high-performance computing (HPC)',
'type' => 'array',
'items' => ['description' => 'The instance categorization. Valid values:'."\n"
."\n"
.'> N specifies that you can set multiple instance type categories. Valid values of N: 1 to 10.'."\n"
."\n"
.'- General-purpose: general-purpose'."\n"
.'- Compute-optimized: compute-optimized'."\n"
.'- Memory-optimized: memory-optimized'."\n"
.'- Big data: big data'."\n"
.'- Local SSDs: local SSD'."\n"
.'- High Clock Speed: high frequency'."\n"
.'- Enhanced: enhanced'."\n"
.'- Shared: shared'."\n"
.'- Compute-optimized with GPU: GPU computing'."\n"
.'- Visual Compute-optimized: visual compute-optimized'."\n"
.'- Heterogeneous Service: heterogeneous service'."\n"
.'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n"
.'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n"
.'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n"
.'- High Performance Compute: high-performance computing (HPC)', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'CpuArchitectures' => [
'description' => 'The CPU architectures of the instance. Valid values:'."\n"
."\n"
.'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.',
'type' => 'array',
'items' => ['description' => 'The CPU architectures of the instance. Valid values:'."\n"
."\n"
.'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'PhysicalProcessorModels' => [
'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n"
.'[_single.params',
'type' => 'array',
'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n"
.'[_single.params', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that can be attached to an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''],
'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance of burstable instances (t5 and t6), which is the sum of all vCPUs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''],
'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'SystemDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: Enterprise SSD (ESSD).'."\n"
."\n"
.'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.',
'type' => 'array',
'items' => ['description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: Enterprise SSD (ESSD).'."\n"
."\n"
.'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'SystemDisk.Encrypted',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
."\n"
.'- true: Encrypted.'."\n"
.'- false: Not encrypted.'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'SystemDisk.KMSKeyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
],
[
'name' => 'SystemDisk.EncryptAlgorithm',
'in' => 'query',
'schema' => ['description' => 'The encryption algorithm used for the system cloud disk. Valid values:'."\n"
."\n"
.'- AES-256'."\n"
.'- SM4-128'."\n"
."\n"
.'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''],
],
[
'name' => 'SystemDisk.ProvisionedIops',
'in' => 'query',
'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system cloud disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'SystemDisk.BurstingEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Burst (performance burst) feature for the system cloud disk. Valid values:'."\n"
."\n"
.'- true: Enabled.'."\n"
.'- false: Not enabled.'."\n"
.'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n"
."\n"
.'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ImageOptions.LoginAsNonRoot',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user account for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~). Valid values:'."\n"
."\n"
.'- true: Yes.'."\n"
."\n"
.'- false: No.'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'DeletionProtection',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable release protection for the instance. This parameter specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, which prevents the instance from being accidentally deleted. Valid values:'."\n"
."\n"
.'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'Default value: false.'."\n"
.'> This property applies only to pay-as-you-go instances. It prevents instances created by Auto Scaling scale-out activities from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'StorageSetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dedicated block storage cluster.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''],
],
[
'name' => 'StorageSetPartitionNumber',
'in' => 'query',
'schema' => ['description' => 'The maximum number of partitions in the dedicated block storage cluster. Valid values: greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'CustomPriorities',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The custom priorities for ECS instance type and vSwitch combinations.'."\n"
.'>This parameter takes effect only when the scaling policy of the scaling group is set to priority-based policy.>'."\n"
."\n"
.'If an instance cannot be created based on the instance type and vSwitch combination with a higher priority, Auto Scaling automatically selects the combination with the next priority to create the instance.'."\n"
."\n"
.'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration.'."\n"
.'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n"
."\n"
.'>The instance type must be included in the instance type list of the scaling configuration.>', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
.'>The vSwitch must be included in the vSwitch list of the scaling group.>', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'NetworkInterfaces',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of elastic network interfaces (ENIs).',
'type' => 'array',
'items' => [
'description' => 'The elastic network interface (ENI).',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). If you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n"
."\n"
.'- Primary: primary NIC.'."\n"
."\n"
.'- Secondary: secondary NIC.'."\n"
."\n"
.'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''],
'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n"
."\n"
.'- Standard: uses the TCP communication mode.'."\n"
.'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n"
."\n"
.'Default value: Standard.'."\n"
."\n"
.'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''],
'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI.'."\n"
.'Note:'."\n"
."\n"
.'- This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n"
."\n"
.'- After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'SecurityGroupIds' => [
'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.',
'type' => 'array',
'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.'."\n"
.'Note:'."\n"
."\n"
.'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n"
."\n"
.'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary network interface controller (NIC).', 'type' => 'string', 'required' => false, 'example' => 'sg-uf6ij8dwxxxxxx', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n"
."\n"
.'- The value cannot exceed the limit on the number of IP addresses for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n"
."\n"
.'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'DedicatedHostClusterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''],
],
[
'name' => 'SecurityOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The security options.',
'type' => 'object',
'properties' => [
'ConfidentialComputingMode' => ['description' => 'The confidential computing pattern. Valid values:'."\n"
.'- Enclave: indicates that the ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n"
.'- TDX: indicates that a TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'HttpEndpoint',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n"
.'- enabled: Enabled.'."\n"
.'- disabled: Disabled.'."\n"
."\n"
.'Default value: enabled.'."\n"
."\n"
.'> For information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''],
],
[
'name' => 'HttpTokens',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when accessing instance metadata. Valid values:'."\n"
."\n"
.'- optional: Does not forcefully use.'."\n"
.'- required: Forcefully uses. After this value is set, instance metadata cannot be accessed in normal mode.'."\n"
."\n"
.'Default value: optional.'."\n"
."\n"
.'> For information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''],
],
[
'name' => 'ResourcePoolOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The resource pool policy used when creating instances. After you specify this parameter, note the following items:'."\n"
."\n"
.'- This parameter takes effect only when pay-as-you-go instances are created.'."\n"
."\n"
.'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.',
'type' => 'object',
'properties' => [
'Strategy' => ['description' => 'The resource pool includes private pools generated after the elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n"
."\n"
.'- PrivatePoolFirst: private pool first. If ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n"
."\n"
.'- PrivatePoolOnly: private pool only. You must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n"
."\n"
.'- PublicPoolFirst: public pool first. The public pool is used first to create instances. If the public pool has insufficient resources, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This policy is in invitational preview and is not available for use.)'."\n"
."\n"
.'- None: does not use a resource pool policy.'."\n"
."\n"
.'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''],
'PrivatePoolIds' => [
'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.',
'type' => 'array',
'items' => ['description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'PrivatePoolTags' => [
'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n"
.'Note:'."\n"
.'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n"
.'- Tag matching rule: a private pool must match all specified tags.'."\n"
.'- This parameter cannot be specified together with the PrivatePoolIds parameter.',
'type' => 'array',
'items' => [
'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n"
.'Note:'."\n"
.'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n"
.'- Tag matching rule: a private pool must match all specified tags.'."\n"
.'- This parameter cannot be specified together with the PrivatePoolIds parameter.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''],
'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstanceTypeCandidateOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, the system supplements similar instance types of the same size based on the currently selected instance types, or creates vSwitches in alternative zones and adds them to the scaling group.',
'type' => 'object',
'properties' => [
'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.10', 'title' => ''],
'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n"
."\n"
.'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n"
.'> The instance type remains unchanged. Only new zones are used as alternatives. When all selected zones of the scaling group cannot be used for scale-out due to issues such as insufficient inventory, the system automatically adds a new vSwitch in a new zone to the scaling group based on this configuration.'."\n"
.'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'AllowCidrBlocks' => [
'description' => 'The CIDR blocks for vSwitches that can be supplemented in other zones.',
'type' => 'array',
'items' => ['description' => 'The vSwitch CIDR block must meet the following requirements:'."\n"
."\n"
.'- The mask length of the vSwitch CIDR block must be 16 to 29 bits.'."\n"
.'- The vSwitch CIDR block must be a subset of the CIDR block of the VPC to which the vSwitch belongs.'."\n"
.'- The vSwitch CIDR block cannot be the same as the destination CIDR block of a route entry in the VPC, but can be a subset of the destination CIDR block.'."\n"
.'- The vSwitch CIDR block cannot be 100.64.0.0/10 or its subnets.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The information about the created scaling configuration.',
'type' => 'object',
'properties' => [
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
'title' => 'Create an eCS-type scaling configuration',
'description' => 'A scaling configuration specifies the ECS instance template used for elastic scale-out. The following instance configuration methods are supported:'."\n"
."\n"
.'- InstancePatternInfos: intelligent configuration mode. You do not need to specify specific instance types. Instead, you specify the number of vCPU cores, memory size, instance family level, and maximum price based on your business requirements. The system automatically filters instance types that meet the requirements and preferentially selects the instance type with the lowest price to create ECS instances. This mode applies only to scaling groups whose network type is VPC and can effectively reduce the risk of insufficient inventory of instance types during scale-out.'."\n"
."\n"
.'- InstanceType: specifies a single instance type.'."\n"
."\n"
.'- InstanceTypes: specifies multiple instance types.'."\n"
."\n"
.'- InstanceTypeOverrides: specifies multiple instance types and configures weights for different instance types.'."\n"
."\n"
.'- Cpu and Memory: specifies the range of instance types by defining CPU and memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price. This method applies only when the scaling policy of the scaling group is cost optimization and no instance type is specified in the scaling configuration.'."\n"
."\n"
.'- You can bind a primary network interface card (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned.'."\n"
.' - Use parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount to directly configure the primary NIC.'."\n"
.' - Use NetworkInterfaces to configure both the primary NIC and secondary NICs. When you use the NetworkInterface parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.'."\n"
."\n"
.'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified at the same time. However, InstanceType or InstanceTypes can be specified together with InstancePatternInfos. When specified together with InstancePatternInfos, Auto Scaling preferentially uses the instance types you specified for scale-out. If the specified instance types are out of stock, instance types that match the InstancePatternInfos configuration are used.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingConfiguration',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateScalingGroup' => [
'summary' => 'Call the `CreateScalingGroup` API to create a scaling group. The group automatically adjusts your computing capacity (the number of instances) by scaling instances of a specified type in or out based on your business requirements and scaling policies.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125385',
'abilityTreeNodes' => ['FEATUREessGIWHSQ'],
],
'parameters' => [
[
'name' => 'ScalingGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling group. The name must be unique within a region.'."\n"
."\n"
.'The name must be 2 to 64 characters in length. It must start with a letter, a digit, or a Chinese character and can contain digits, underscores (\\_), hyphens (-), and periods (.).'."\n"
."\n"
.'If you do not specify this parameter, the value of `ScalingGroupId` is used.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''],
],
[
'name' => 'LaunchTemplateId',
'in' => 'query',
'schema' => ['description' => 'The ID of the launch template that provides the configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7**** ', 'title' => ''],
],
[
'name' => 'LaunchTemplateVersion',
'in' => 'query',
'schema' => ['description' => 'The version of the launch template. Valid values:'."\n"
."\n"
.'- A specific version number of the template.'."\n"
."\n"
.'- `Default`: Uses the default version of the template.'."\n"
."\n"
.'- `Latest`: Uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of an existing instance to use as a template. Auto Scaling uses this instance to create a new scaling configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'MinSize',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances in the scaling group. If the total number of instances falls below this value, Auto Scaling adds instances to meet this minimum.'."\n"
."\n"
.'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'MaxSize',
'in' => 'query',
'schema' => ['description' => 'The maximum number of instances in the scaling group. If the total number of instances exceeds this value, Auto Scaling removes instances to meet this maximum.'."\n"
."\n"
.''."\n"
."\n"
.'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The value range of `MaxSize` depends on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of instances per scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.'If the quota for **Maximum number of instances per scaling group** is 2,000, the value of `MaxSize` can range from 0 to 2,000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''],
],
[
'name' => 'DefaultCooldown',
'in' => 'query',
'schema' => ['description' => 'The cooldown period, in seconds, after a scaling activity completes. Valid values: 0 to 86400.'."\n"
."\n"
.'During the cooldown period, the scaling group does not execute other scaling activities that are triggered by CloudMonitor alarm tasks.'."\n"
."\n"
.'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
],
[
'name' => 'LoadBalancerIds',
'in' => 'query',
'schema' => ['description' => 'A JSON array of Classic Load Balancer (CLB) instance IDs.'."\n"
."\n"
.''."\n"
."\n"
.'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n"
."\n"
.'', 'type' => 'string', 'required' => false, 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', 'title' => ''],
],
[
'name' => 'DBInstanceIds',
'in' => 'query',
'schema' => ['description' => 'A JSON array of RDS instance IDs.'."\n"
."\n"
.''."\n"
."\n"
.'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n"
."\n"
.'', 'type' => 'string', 'required' => false, 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', 'title' => ''],
],
[
'name' => 'RemovalPolicies',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance removal policies. Valid values:'."\n"
."\n"
.'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n"
."\n"
.'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n"
."\n"
.'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n"
."\n"
.'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n"
."\n"
.'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n"
."\n"
.'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).',
'type' => 'array',
'items' => ['description' => 'The instance removal policies. Valid values:'."\n"
."\n"
.'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n"
."\n"
.'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n"
."\n"
.'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n"
."\n"
.'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n"
."\n"
.'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n"
."\n"
.'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'schema' => ['description' => 'The ID of the vSwitch. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n"
."\n"
.'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''],
],
[
'name' => 'MultiAZPolicy',
'in' => 'query',
'schema' => ['description' => 'The scaling policy for ECS instances in a multi-zone scaling group. Valid values:'."\n"
."\n"
.'- `PRIORITY`: Auto Scaling prioritizes the vSwitches specified in `VSwitchIds`. If an operation fails in a higher-priority availability zone, Auto Scaling automatically attempts it in the next-highest-priority zone.'."\n"
."\n"
.'- `COST_OPTIMIZED`: During scale-out, creates instances from the instance types with the lowest vCPU unit price. During scale-in, removes instances from the instance types with the highest vCPU unit price. If the scaling configuration includes multiple spot instance types, spot instances are prioritized for creation. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create on-demand instances when spot instances cannot be created due to reasons such as insufficient inventory.'."\n"
."\n"
.' > The `COST_OPTIMIZED` policy takes effect only when the scaling configuration specifies multiple instance types or includes spot instances.'."\n"
."\n"
.'- `BALANCE`: Distributes ECS instances evenly across the specified availability zones in the scaling group. If the distribution of instances becomes uneven due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) API operation to rebalance the instances.'."\n"
."\n"
.' > If `MultiAZPolicy` is set to `BALANCE`, the effect is the same as setting `MultiAZPolicy` to `COMPOSABLE` and `AzBalance` to `true`.'."\n"
."\n"
.'- `COMPOSABLE`: A composite policy that allows you to combine the preceding policies for multi-zone scaling groups as needed. You can also specify additional parameters to gain finer control over the capacity of your scaling group.'."\n"
."\n"
.'Default value: `PRIORITY`.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''],
],
[
'name' => 'HealthCheckType',
'in' => 'query',
'schema' => ['description' => 'The health check method for the scaling group. Valid values:'."\n"
."\n"
.'- `NONE`: No health checks are performed.'."\n"
."\n"
.'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n"
."\n"
.'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n"
."\n"
.'Default value: `ECS`.'."\n"
."\n"
.'> To enable both instance health checks and load balancer health checks, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
],
[
'name' => 'ScalingPolicy',
'in' => 'query',
'schema' => ['description' => 'The reclamation mode of the scaling group. Valid values:'."\n"
."\n"
.'- `recycle`: The reclamation mode is Economical Mode.'."\n"
."\n"
.'- `release`: The reclamation mode is Release Mode.'."\n"
."\n"
.'- `forcerelease`: The reclamation mode is Force Release Mode.'."\n"
."\n"
.' > A forced release is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n"
."\n"
.'- `forcerecycle`: The reclamation mode is Force Economical Mode.'."\n"
."\n"
.' > A forced stop is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n"
."\n"
.'`ScalingPolicy` specifies the reclamation mode of the scaling group. The specific action taken when an instance is removed from the scaling group is determined by the `RemovePolicy` parameter of the `RemoveInstances` operation. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request.'."\n"
."\n"
.'The token must be unique across requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'OnDemandBaseCapacity',
'in' => 'query',
'schema' => ['description' => 'The minimum number of on-demand instances required in the scaling group. Valid values: 0 to 1,000. If the number of on-demand instances is less than this value, Auto Scaling preferentially creates on-demand instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
],
[
'name' => 'OnDemandPercentageAboveBaseCapacity',
'in' => 'query',
'schema' => ['description' => 'The percentage of on-demand instances among the excess instances after the minimum number of on-demand instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'SpotInstanceRemedy',
'in' => 'query',
'schema' => ['description' => 'If set to `true`, Auto Scaling attempts to create a new instance to replace a spot instance that is about to be reclaimed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'CompensateWithOnDemand',
'in' => 'query',
'schema' => ['description' => 'This parameter is effective only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. If `true`, Auto Scaling creates on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n"
."\n"
.'- `true`: Yes.'."\n"
."\n"
.'- `false`: No.'."\n"
."\n"
.'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'SpotInstancePools',
'in' => 'query',
'schema' => ['description' => 'The number of instance types to use. The scaling group creates spot instances in a balanced manner across the specified number of lowest-cost instance types. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'DesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'The desired number of instances in the scaling group. Auto Scaling automatically maintains this number of instances. The value must be less than or equal to `MaxSize` and greater than or equal to `MinSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'GroupDeletionProtection',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n"
."\n"
.'- `true`: Enables deletion protection. The scaling group cannot be deleted.'."\n"
."\n"
.'- `false`: Disables deletion protection.'."\n"
."\n"
.'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'GroupType',
'in' => 'query',
'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n"
."\n"
.'- `ECS`: The scaling group manages ECS instances.'."\n"
."\n"
.'- `ECI`: The scaling group manages ECI instances.'."\n"
."\n"
.'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
],
[
'name' => 'ContainerGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECI instance, also known as the container group ID.', 'type' => 'string', 'required' => false, 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n"
."\n"
.'If you specify multiple vSwitches:'."\n"
."\n"
.'- They must belong to the same VPC.'."\n"
."\n"
.'- They can be in different availability zones.'."\n"
."\n"
.'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n"
."\n"
.'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.',
'type' => 'array',
'items' => ['description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n"
."\n"
.'If you specify multiple vSwitches:'."\n"
."\n"
.'- They must belong to the same VPC.'."\n"
."\n"
.'- They can be in different availability zones.'."\n"
."\n"
.'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n"
."\n"
.'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''],
'required' => false,
'maxItems' => 8,
'title' => '',
'example' => '',
],
],
[
'name' => 'LifecycleHooks',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of lifecycle hooks.',
'type' => 'array',
'items' => [
'description' => 'The list of lifecycle hooks.',
'type' => 'object',
'properties' => [
'DefaultResult' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n"
."\n"
.'- `CONTINUE`: Continues the scale-out or scale-in activity.'."\n"
."\n"
.'- `ABANDON`: Aborts the scale-out activity by releasing the created instances, or aborts the scale-in activity by keeping the instances in the scaling group.'."\n"
."\n"
.'If a scale-in (SCALE\\_IN) activity triggers multiple lifecycle hooks, and the `DefaultResult` of one of the lifecycle hooks is `ABANDON`, the wait state of the other lifecycle hooks ends prematurely. In other cases, the action is determined by the last lifecycle hook to complete.'."\n"
."\n"
.'Default value: `CONTINUE`.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''],
'LifecycleHookName' => ['description' => 'The name of the lifecycle hook. The name cannot be modified after it is specified. If you do not specify a name, the ID of the lifecycle hook is used.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''],
'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n"
."\n"
.'- `SCALE_OUT`: A scale-out activity.'."\n"
."\n"
.'- `SCALE_IN`: A scale-in activity.'."\n"
."\n"
.'> This parameter is required if you specify a lifecycle hook for the scaling group. Other related parameters are optional.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_OUT', 'title' => ''],
'NotificationMetadata' => ['description' => 'A fixed string of information for the wait state of a scaling activity. The value cannot exceed 4,096 characters in length. When Auto Scaling sends a message to the specified notification recipient, it includes the value of this parameter. This allows you to manage and categorize notifications. This parameter is valid only when you specify the `NotificationArn` parameter.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''],
'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient for the lifecycle hook. Message Service (MNS) queues and topics are supported. The format is `acs:ess:{region}:{account-id}:{resource-relative-id}`.'."\n"
."\n"
.'- `region`: the region where the scaling group is located.'."\n"
."\n"
.'- `account-id`: the ID of your Alibaba Cloud account.'."\n"
."\n"
.'Examples:'."\n"
."\n"
.'- MNS queue: `acs:ess:{region}:{account-id}:queue/{queuename}`.'."\n"
."\n"
.'- MNS topic: `acs:ess:{region}:{account-id}:topic/{topicname}`.', 'type' => 'string', 'required' => false, 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', 'title' => ''],
'HeartbeatTimeout' => ['description' => 'The wait time that is defined in the lifecycle hook for a scaling activity. After the wait time expires, the next action is performed. Valid values: 30 to 21600. Unit: seconds.'."\n"
."\n"
.'After you create a lifecycle hook, you can call the `RecordLifecycleActionHeartbeat` operation to extend the wait time of an instance, or call the `CompleteLifecycleAction` operation to end the wait state of the scaling activity in advance.'."\n"
."\n"
.'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'VServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The vServer groups to associate with the scaling group.',
'type' => 'array',
'items' => [
'description' => 'The vServer groups to associate with the scaling group.',
'type' => 'object',
'properties' => [
'VServerGroupAttributes' => [
'description' => 'The attributes of the backend server group.',
'type' => 'array',
'items' => [
'description' => 'The attributes of the backend server group.',
'type' => 'object',
'properties' => [
'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1443g77****', 'title' => ''],
'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the vServer group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.'."\n"
."\n"
.'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an instance after it is added to the vServer group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB) instance to which the vServer group belongs.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags to apply to the scaling group.',
'type' => 'array',
'items' => [
'description' => 'The tags to apply to the scaling group.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''],
'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''],
'Propagate' => ['description' => 'Specifies whether the tag can be propagated. Valid values:'."\n"
."\n"
.'- `true`: The tag is propagated from the scaling group only to newly created instances, not to instances that are already running in the scaling group.'."\n"
."\n"
.'- `false`: The tag is not propagated from the scaling group to any instances.'."\n"
."\n"
.'Default value: `false`.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'LaunchTemplateOverrides',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance type information for extending the launch template.',
'type' => 'array',
'items' => [
'description' => 'The instance type information for extending the launch template.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify both this parameter and `LaunchTemplateOverrides.WeightedCapacity`.'."\n"
."\n"
.'This parameter specifies the instance type, which overrides the instance type specified in the launch template.'."\n"
."\n"
.'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.'."\n"
."\n"
.'Must be a valid ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''],
'WeightedCapacity' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n"
."\n"
.'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of that type in the scaling group. A higher weight means that fewer instances of this type are needed to meet the desired capacity.'."\n"
."\n"
.'Because instance types have different performance metrics, such as the number of vCPUs and memory size, you can assign different weights to different instance types based on your requirements.'."\n"
."\n"
.'Example:'."\n"
."\n"
.'- Current capacity: 0.'."\n"
."\n"
.'- Desired capacity: 6.'."\n"
."\n"
.'- Capacity of ecs.c5.xlarge: 4.'."\n"
."\n"
.'To meet the desired capacity, the scaling group will create two ecs.c5.xlarge instances.'."\n"
."\n"
.'> During a scale-out activity, the capacity of the scaling group cannot exceed the sum of the maximum capacity (`MaxSize`) and the maximum weight of an instance type.'."\n"
."\n"
.'Valid values: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
'SpotPriceLimit' => ['description' => 'The maximum hourly price for the instance type specified in `LaunchTemplateOverride.InstanceType`.'."\n"
."\n"
.'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'AlbServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.',
'type' => 'array',
'items' => [
'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.',
'type' => 'object',
'properties' => [
'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n"
."\n"
.'A scaling group can be associated with a limited number of ALB server groups. To view or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => false, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''],
'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the ALB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an instance after it is added to the ALB server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'ServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The load balancer server groups.'."\n"
."\n"
.'> You cannot specify the same server group in both `AlbServerGroups` and `ServerGroups`.',
'type' => 'array',
'items' => [
'description' => 'The load balancer server groups.',
'type' => 'object',
'properties' => [
'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'required' => false, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''],
'Type' => ['description' => 'The type of the server group. Valid values:'."\n"
."\n"
.'- `ALB`: Application Load Balancer.'."\n"
."\n"
.'- `NLB`: Network Load Balancer.'."\n"
."\n"
.'- `GWLB`: Gateway Load Balancer.', 'type' => 'string', 'required' => false, 'example' => 'ALB', 'title' => ''],
'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the server group. Valid values: 0 to 100.'."\n"
."\n"
.'A higher weight indicates that more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance.'."\n"
."\n"
.'> This parameter is required for ALB and NLB server groups. You cannot set this parameter for GWLB server groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an instance after it is added to the server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'AzBalance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple availability zones. This parameter is valid only when `MultiAZPolicy` is set to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'- `true`: The capacity of the scaling group is evenly distributed across multiple availability zones.'."\n"
."\n"
.'- `false`: The capacity of the scaling group is not evenly distributed across multiple availability zones.'."\n"
."\n"
.'> If `MultiAZPolicy` is set to `COMPOSABLE` and `AzBalance` is set to `true`, the effect is the same as setting `MultiAZPolicy` to `BALANCE`.'."\n"
."\n"
.'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'AllocationStrategy',
'in' => 'query',
'schema' => ['description' => 'The capacity allocation policy determines how the scaling group selects available instance types to meet capacity requirements. The policy applies to both on-demand and preemptible capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n"
."\n"
.'- priority: Creates instances in the order of the configured instance types.'."\n"
."\n"
.'- lowestPrice: Create instances based on the price per vCPU of instance types, from lowest to highest.'."\n"
."\n"
.'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''],
],
[
'name' => 'SpotAllocationStrategy',
'in' => 'query',
'schema' => ['description' => 'The distribution strategy for spot capacity. You can use this parameter to specify a separate strategy for spot capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n"
."\n"
.'- priority: Creates instances in the order of the configured instance types.'."\n"
."\n"
.'- lowestPrice: Creates instances in ascending order of the price per vCPU of the instance types.'."\n"
."\n"
.'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''],
],
[
'name' => 'SyncAlarmRuleToCms',
'in' => 'query',
'schema' => ['description' => '> This parameter is not yet available.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'MaxInstanceLifetime',
'in' => 'query',
'schema' => ['description' => 'The maximum lifetime of an instance in the scaling group. Unit: seconds.'."\n"
."\n"
.'Value range: \\[86400, Integer.maxValue].'."\n"
."\n"
.'Default value: null.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''],
],
[
'name' => 'CustomPolicyARN',
'in' => 'query',
'schema' => ['description' => 'The ARN of the custom scale-in policy function. This parameter is valid only when the first removal policy in `RemovalPolicies` is `CustomPolicy`.', 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the new scaling group belongs.'."\n"
."\n"
.'> If you do not specify this parameter, the new scaling group is added to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''],
],
[
'name' => 'LoadBalancerConfigs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The load balancer configurations.',
'type' => 'array',
'items' => [
'description' => 'The load balancer configurations.',
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zen1olhfg9yw3f4q****', 'title' => ''],
'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the SLB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'HealthCheckTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The health check methods for the scaling group.'."\n"
."\n"
.'> You can use this parameter to set multiple values and enable multiple health check options. If you set the `HealthCheckType` parameter, this parameter is ignored.',
'type' => 'array',
'items' => ['description' => 'The health check methods for the scaling group. Valid values:'."\n"
."\n"
.'- `NONE`: No health checks are performed.'."\n"
."\n"
.'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n"
."\n"
.'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n"
."\n"
.'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'DBInstances',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The databases that are associated with the scaling group.',
'type' => 'array',
'items' => [
'description' => 'The database configurations that are associated with the scaling group.',
'type' => 'object',
'properties' => [
'DBInstanceId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'required' => false, 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''],
'Type' => ['description' => 'The type of the database. Valid values:'."\n"
."\n"
.'- RDS'."\n"
."\n"
.'- Redis'."\n"
."\n"
.'- MongoDB'."\n"
."\n"
.'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''],
'AttachMode' => ['description' => 'The method that is used to associate the scaling group with the database. Valid values:'."\n"
."\n"
.'- `SecurityIp`: The IP address whitelist mode. This mode automatically adds the scaled-out instances to the IP address whitelist of the database. This mode is supported only by RDS databases.'."\n"
."\n"
.'- `SecurityGroup`: The security group mode. This mode adds the security group of the scaling configuration to the security group whitelist of the database. This allows instances in the security group to access the database.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'StopInstanceTimeout',
'in' => 'query',
'schema' => ['description' => 'The timeout period for the system to wait for an ECS instance to be stopped during a scale-in event. Unit: seconds.'."\n"
.'Valid values: 30 to 240.'."\n"
."\n"
.'> - This parameter takes effect only during scale-in events when `ScalingPolicy` is set to `release`.'."\n"
.'>'."\n"
.'> - If this parameter is set, the system waits for the specified `StopInstanceTimeout` period for the instance to be stopped. If the instance is not stopped after the timeout period, the scale-in process continues regardless of the instance status.'."\n"
.'>'."\n"
.'> - If this parameter is not set, the system waits for an extended period for the instance to be stopped. The scale-in process continues only after the instance is stopped. If the instance fails to stop, the scale-in process is rolled back, and the scale-in event fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'CapacityOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The capacity options.',
'type' => 'object',
'properties' => [
'OnDemandBaseCapacity' => ['description' => 'The minimum number of on-demand instances required in the scaling group. When the number of on-demand instances in the scaling group is less than this value, the system preferentially creates on-demand instances. Valid values: 0 to 1,000.'."\n"
."\n"
.'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of on-demand instances among the excess instances after the `OnDemandBaseCapacity` requirement is met. Valid values: 0 to 100.'."\n"
."\n"
.'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
'CompensateWithOnDemand' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, this parameter specifies whether to automatically create on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n"
."\n"
.'- `true`: Yes.'."\n"
."\n"
.'- `false`: No.'."\n"
."\n"
.'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'SpotAutoReplaceOnDemand' => ['description' => 'After you enable `CompensateWithOnDemand`, if the on-demand percentage exceeds the `OnDemandPercentageAboveBaseCapacity` ratio, the system attempts to replace on-demand capacity with spot capacity. A common scenario is when `CompensateWithOnDemand` leads to on-demand instances being created due to spot inventory or price issues. To avoid the prolonged existence of these on-demand instances, the system attempts to replace the excess on-demand capacity with spot instances. Valid values:'."\n"
."\n"
.'- `true`: Allows replacement.'."\n"
."\n"
.'- `false`: Does not allow replacement.'."\n"
."\n"
.'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n"
."\n"
.'- `PricePerUnit`: Compares prices based on per-unit capacity.'."\n"
."\n"
.' The capacity of an instance in a scaling group is equal to the weight set for the instance type, with a default of 1, meaning one ECS instance equals one unit of capacity.'."\n"
."\n"
.'- `PricePerVCpu`: Compares prices based on per-vCPU price.'."\n"
."\n"
.'Default value: `PricePerUnit`.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'BalanceMode',
'in' => 'query',
'schema' => ['description' => 'The zone balancing mode is effective only when enabled. Valid values:'."\n"
."\n"
.'- BalancedBestEffort: If a resource fails to be created in an availability zone, the system falls back to other availability zones to ensure best-effort delivery.'."\n"
."\n"
.'- BalancedOnly:'."\n"
.' If resource creation fails in an availability zone, the system does not fall back to other availability zones. The scaling activity is partially successful, which prevents an excessive imbalance of resources across different availability zones.'."\n"
."\n"
.'Default value: BalancedBestEffort.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'],
],
[
'name' => 'AutoRebalance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable automatic balancing for the scaling group. This setting takes effect only when BalancedOnly is enabled for a scaling group that is balanced across availability zones. Value range:'."\n"
."\n"
.'- false: Does not enable automatic balancing for the scaling group.'."\n"
."\n"
.'- true: When automatic balancing for the scaling group is enabled, the scaling group automatically detects the capacity across availability zones. If the capacity is imbalanced, the scaling group proactively performs scaling across availability zones to rebalance the capacity.'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'ResourceNotAvailable.VPCNetwork', 'errorMessage' => 'The specified zone does not support vpc network or sold out.', 'description' => ''],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]',
'title' => 'CreateScalingGroup',
'description' => 'A scaling group is a collection of ECS instances for the same use case.'."\n"
."\n"
.'The number of scaling groups that you can create in a region depends on your Auto Scaling usage. To view your quota for scaling groups, go to Quota Center.'."\n"
."\n"
.'A scaling group is not active immediately after creation. You must call the [EnableScalingGroup](~~25939~~) operation to enable the group before it can trigger scaling activities or execute scaling rules.'."\n"
."\n"
.'The scaling group, as well as its associated Classic Load Balancer (CLB) (formerly SLB) and RDS instances, must be in the same region. For more information, see [Regions and availability zones](~~40654~~).'."\n"
."\n"
.'If you associate a CLB instance with a scaling group, the scaling group automatically adds new ECS instances to a backend server group of the CLB instance. You can specify which server group to use. The following types of server groups are supported:'."\n"
."\n"
.'- Default server group: A group of ECS instances that receive requests from the front end. If no vServer group or primary/standby server group is configured for a listener, it forwards requests to the ECS instances in the default server group.'."\n"
."\n"
.'- vServer group: Use a vServer group if you need to forward different requests to different backend servers, or forward requests based on domain names and URLs.'."\n"
."\n"
.'> If you specify both a default server group and one or more vServer groups, the scaling group adds new ECS instances to all specified server groups.'."\n"
."\n"
.'After an instance is added to a backend server group of a CLB instance, its default weight is 50. The CLB instance must meet the following conditions:'."\n"
."\n"
.'- The CLB instance must be in the active state. You can call the [DescribeLoadBalancers](~~2401696~~) operation to check the state of a CLB instance.'."\n"
."\n"
.'- Health checks must be enabled for all listeners configured on the CLB instance. Otherwise, the scaling group creation fails.'."\n"
."\n"
.'If you associate a scaling group with Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups, it automatically adds new ECS instances as backend servers to those groups to handle distributed requests. You can specify multiple such server groups, but they must all belong to the same VPC as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n"
."\n"
.'If you associate an RDS instance with a scaling group, the scaling group automatically adds the internal IP addresses of new ECS instances to the IP address whitelist of the RDS instance. The RDS instance must meet the following conditions:'."\n"
."\n"
.'- The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~610396~~) operation to check the state of an RDS instance.'."\n"
."\n"
.'- The number of IP addresses in the RDS instance\'s IP address whitelist cannot exceed the limit. For more information, see the [Configure an IP address whitelist](~~43185~~) topic in the RDS documentation.'."\n"
."\n"
.'If the `MultiAZPolicy` of a scaling group is set to `COST_OPTIMIZED`:'."\n"
."\n"
.'- If you specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, and `SpotInstancePools` parameters, you define the instance allocation strategy for the cost-optimized policy. Auto Scaling prioritizes this strategy during scaling activities.'."\n"
."\n"
.'- If you do not specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, or `SpotInstancePools` parameters, the cost-optimized policy creates instances by using only the lowest-cost method. In this mode, you cannot create instances by using the Elastic Guarantee service or the Capacity Reservation service.'."\n"
."\n"
.'If you enable tag propagation for a scaling group by setting `Tags.Propagate` to `true`:'."\n"
."\n"
.'- The scaling group propagates its tags only to new instances, not to existing instances.'."\n"
."\n"
.'- If you specify instance tags in the scaling configuration and also choose to propagate tags from the scaling group, Auto Scaling applies both sets of tags to the new instances.'."\n"
."\n"
.'- If a tag from the scaling configuration and a propagated tag from the scaling group have the same tag key, the tag value from the scaling configuration takes precedence.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'],
],
],
],
],
],
'CreateScalingRule' => [
'summary' => 'The function of a scaling rule is determined by its type, which can be used to trigger a scaling activity or intelligently set the boundary values of a scaling group. Depending on your business requirements, you can invoke the CreateScalingRule API to create different types of scaling rules. For example, if your business only requires setting the boundary values of a scaling group, we recommend that you select the predictive rule type.'."\n",
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '125334',
'abilityTreeNodes' => ['FEATUREessRTZKQT'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''],
],
[
'name' => 'ScalingRuleName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n"
."\n"
.'The name of each scaling rule must be unique under the same account within a region.'."\n"
."\n"
.'If you leave this parameter empty, the scaling rule ID is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''],
],
[
'name' => 'Cooldown',
'in' => 'query',
'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n"
."\n"
.'By default, this parameter is left empty.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'MinAdjustmentMagnitude',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'AdjustmentType',
'in' => 'query',
'schema' => ['description' => 'The scaling method of the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. Valid values:'."\n"
."\n"
.'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n"
.'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n"
.'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''],
],
[
'name' => 'AdjustmentValue',
'in' => 'query',
'schema' => ['description' => 'The number of instances that must be scaled based on the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n"
."\n"
.'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n"
.'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n"
.'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'ScalingRuleType',
'in' => 'query',
'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n"
."\n"
.'* SimpleScalingRule: a simple scaling rule. After you execute a simple scaling rule, Auto Scaling adjusts the number of ECS instances or elastic container instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n"
.'* TargetTrackingScalingRule: a target tracking scaling rule. After you execute a target tracking scaling rule, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the expected value (TargetValue).'."\n"
.'* StepScalingRule: a step scaling rule. After you execute a step scaling rule, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n"
.'* PredictiveScalingRule: a predictive scaling rule. After you execute a predictive scaling rule, Auto Scaling uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n"
."\n"
.'Default value: SimpleScalingRule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule', 'default' => 'SimpleScalingRule', 'title' => ''],
],
[
'name' => 'EstimatedInstanceWarmup',
'in' => 'query',
'schema' => ['description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n"
."\n"
.'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n"
."\n"
.'Valid values: 0 to 86400. Unit: seconds.'."\n"
."\n"
.'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The predefined metric that you want to monitor. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter.'."\n"
."\n"
.'Valid values if you set ScalingRuleType to TargetTrackingScalingRule:'."\n"
."\n"
.'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n"
.'* MemoryUtilization (recommended): the memory usage.'."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetTx: the outbound traffic over an internal network.'."\n"
.'* IntranetRx: the average inbound traffic over an internal network.'."\n"
.'* VpcInternetTx: the outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n"
.'* VpcInternetRx: the inbound traffic from the Internet to a VPC.'."\n"
.'* LoadBalancerRealServerAverageQps:the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n"
."\n"
.'Valid values if you set ScalingRuleType to PredictiveScalingRule:'."\n"
."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetRx: the average inbound traffic over an internal network.'."\n"
.'* IntranetTx: the average outbound traffic over an internal network.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''],
],
[
'name' => 'TargetValue',
'in' => 'query',
'schema' => ['description' => 'The target value. This parameter is required only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''],
],
[
'name' => 'DisableScaleIn',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is available only if you set ScalingRuleType to TargetTrackingScalingRule.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'ScaleInEvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n"
."\n"
.'Default value: 15.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''],
],
[
'name' => 'ScaleOutEvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
],
[
'name' => 'PredictiveScalingMode',
'in' => 'query',
'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n"
."\n"
.'* PredictAndScale: produces predictions and creates prediction tasks.'."\n"
.'* PredictOnly: produces predictions but does not create prediction tasks.'."\n"
."\n"
.'Default value: PredictAndScale.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''],
],
[
'name' => 'PredictiveValueBehavior',
'in' => 'query',
'schema' => ['description' => 'The maximum value for predication tasks. Valid values:'."\n"
."\n"
.'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n"
."\n"
.'Default value: MaxOverridePredictiveValue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''],
],
[
'name' => 'PredictiveValueBuffer',
'in' => 'query',
'schema' => ['description' => 'The ratio based on which the predicted value is increased when you set `PredictiveValueBehavior` to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n"
."\n"
.'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'PredictiveTaskBufferTime',
'in' => 'query',
'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n"
."\n"
.'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
],
[
'name' => 'InitialMaxSize',
'in' => 'query',
'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n"
."\n"
.'The default value of this parameter is the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'StepAdjustments',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Details of the step adjustments.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the step adjustments.'."\n",
'type' => 'object',
'properties' => [
'MetricIntervalUpperBound' => ['description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''],
'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'MetricIntervalLowerBound' => ['description' => 'The lower limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'AlarmDimensions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The metric dimensions. This parameter is applicable to target tracking scaling rules. If your predefined metric requires extra dimensions, you must specify this parameter. For example, if you use LoadBalancerRealServerAverageQps as your predefined metric, you must use this parameter to specify the rulePool dimension.'."\n",
'type' => 'array',
'items' => [
'description' => 'Dimension information values for monitoring metrics. This parameter applies to target tracking rules and is used when additional dimension information is required for a metric. For example, the LoadBalancerRealServerAverageQps metric requires specifying the rulePool dimension key-value pair.',
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''],
'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxuxxx', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The metric type. Valid values:'."\n"
."\n"
.'* system: system metrics of CloudMonitor.'."\n"
.'* custom: custom metrics that are reported to CloudMonitor.'."\n"
.'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''],
],
[
'name' => 'HybridMonitorNamespace',
'in' => 'query',
'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n"
."\n"
.'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''],
],
[
'name' => 'HybridMetrics',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''],
'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n"
."\n"
.'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''],
'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''],
'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n"
."\n"
.'* Average: calculates the average value of all metric values within a specified interval.'."\n"
.'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n"
.'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''],
'Dimensions' => [
'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''],
'DimensionValue' => ['description' => 'The value of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'AlarmOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'Definition of alerting properties.',
'type' => 'object',
'properties' => [
'Period' => ['description' => 'The period for aggregating monitoring metric data in a target tracking rule, in seconds. Valid values:'."\n"
."\n"
.'- 15'."\n"
.'- 60'."\n"
.'- 120'."\n"
.'- 300'."\n"
.'- 900'."\n"
."\n"
.'> Default Value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'ScalingRuleId' => ['description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'Create a scaling rule',
'description' => 'A scaling rule defines specific scale-out or scale-in operations, such as adding or removing N instances. If executing a scaling rule would cause the number of ECS or ECI instances in the scaling group to fall below MinSize or exceed MaxSize, automatic scaling automatically adjusts the number of ECS or ECI instances to be added or removed so that the actual instance count reaches MinSize or MaxSize. However, the configured value of the scaling rule remains unchanged. Examples are as follows:'."\n"
."\n"
.'- For a scaling group with MaxSize=3 and a current Total Capacity of 2, if the scaling rule specifies adding 3 ECS instances, only 1 ECS instance will actually be added during execution, but the configured value of the scaling rule remains 3.'."\n"
.'- For a scaling group with MinSize=2 and a current Total Capacity of 3, if the scaling rule specifies removing 5 ECS instances, only 1 ECS instance will actually be removed during execution, but the configured value of the scaling rule remains 5.'."\n"
."\n"
.'Please note the following parameter-related descriptions:'."\n"
."\n"
.'- When AdjustmentType is TotalCapacity, it means adjusting the current number of ECS or ECI instances in the scaling group to the specified quantity. The corresponding AdjustmentValue must be greater than or equal to 0.'."\n"
.'- When AdjustmentType is QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates adding instances, while a negative value indicates removing instances.'."\n"
.'- When AdjustmentType is PercentChangeInCapacity, the automatic scaling service calculates the number of ECS or ECI instances to add or remove by multiplying the current instance count (Total Capacity) by AdjustmentValue/100 and then applying rounding.'."\n"
.'- If a cooldown time (Cooldown) is specified in the scaling rule, the scaling group enters a cooldown period for the specified duration after the scaling activity triggered by this rule completes. If no cooldown time is specified in the scaling rule, the default cooldown time (DefaultCooldown) of the scaling group is used.'."\n"
.'- There is a limit on the number of scaling rules that can be created within a single scaling group. For details, see [Limits](~~25863~~).'."\n"
.'- The returned Unique Identifier (ScalingRuleAri) of the scaling rule can be used with the following APIs:'."\n"
.' - Specify it in the ScalingRuleAri parameter when invoking ExecuteScalingRule to manually execute the scaling rule.'."\n"
.' - Specify it in the ScheduledAction parameter when creating a scheduled task (CreateScheduledTask) to execute the scaling rule at a scheduled time.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\"\\n}","type":"json"}]',
],
'CreateScheduledTask' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '125330',
'abilityTreeNodes' => ['FEATUREess30IPAO'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'ScheduledTaskName',
'in' => 'query',
'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n"
."\n"
.'If you do not specify this parameter, the value of the `ScheduledTaskId` parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.'],
],
[
'name' => 'ScheduledAction',
'in' => 'query',
'schema' => ['description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Specify the unique identifier of the scaling rule.'."\n"
."\n"
.'If you specify `ScheduledAction`, the scheduled task uses an existing scaling rule. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****'],
],
[
'name' => 'RecurrenceEndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.'."\n"
."\n"
.'The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is created.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-17T16:55Z'],
],
[
'name' => 'LaunchTime',
'in' => 'query',
'schema' => ['description' => 'The point in time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard. The time must be in UTC. You cannot trigger a scheduled task more than 90 days after its creation.'."\n"
."\n"
.'* If you specify `RecurrenceType`, the scheduled task is repeatedly triggered at the point in time that is specified by LaunchTime.'."\n"
.'* If you do not specify `RecurrenceType`, the scheduled task is triggered only once at the time point that is specified by LaunchTime.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2014-08-17T16:52Z'],
],
[
'name' => 'RecurrenceType',
'in' => 'query',
'schema' => ['description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n"
."\n"
.'* Daily: The scheduled task is executed once every specified number of days.'."\n"
.'* Weekly: The scheduled task is executed on each specified day of the week.'."\n"
.'* Monthly: The scheduled task is executed on each specified day of the month.'."\n"
.'* Cron: The scheduled task is executed based on the specified cron expression.'."\n"
."\n"
.'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Daily'],
],
[
'name' => 'RecurrenceValue',
'in' => 'query',
'schema' => ['description' => 'The number of recurrences of the scheduled task.'."\n"
."\n"
.'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n"
.'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n"
.'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n"
.'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n"
."\n"
.'You must specify both the `RecurrenceType` parameter and the `RecurrenceValue` parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '1'],
],
[
'name' => 'TaskEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the scheduled task.'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
'name' => 'LaunchExpirationTime',
'in' => 'query',
'schema' => ['description' => 'The time period during which the failed scheduled task can be retried. Unit: seconds. Valid values: 0 to 1800.'."\n"
."\n"
.'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'default' => '600'],
],
[
'name' => 'MinValue',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
],
[
'name' => 'MaxValue',
'in' => 'query',
'schema' => ['description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'DesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n"
."\n"
.'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group. If you specify this parameter, the number of instances in the scaling group will be changed when the scheduled task is triggered.'."\n"
."\n"
.'If you specify `ScalingGroupId`, you must also specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScheduledTaskId' => ['description' => 'The globally unique ID of the scheduled task. The globally unique ID is generated by the system.'."\n", 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'CreateScheduledTask',
'summary' => 'Creates a scheduled task. A scheduled task is a type of scaling task that enables automatic execution of a specific scaling rule at a specified point in time. You can call the CreateScheduledTask operation to create a scheduled task to implement automatic scaling of computing resources. This ensures your business continuity and minimizes resource costs.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DeleteAlarm' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125349',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'AlarmTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'],
],
'description' => '',
],
],
],
'title' => 'DeleteAlarm',
'summary' => 'Deletes an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you no longer need an event-triggered task, you can call the DeleteAlarm operation to delete it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]',
],
'DeleteDiagnoseReport' => [
'summary' => 'Deletes a health diagnosis report for a scaling group.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '221454',
'abilityTreeNodes' => ['FEATUREessXZ2M1E'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ReportId',
'in' => 'query',
'schema' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dr-j6c7wvdzk5103xxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'example' => '',
],
],
],
'title' => 'DeleteDiagnoseReport',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteDiagnoseReport',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DeleteEciScalingConfiguration' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125381',
'abilityTreeNodes' => ['FEATUREessTZHE2G'],
],
'parameters' => [
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1bx8mzur534edp****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'The request ID is consistently returned in the response, irrespective of whether the request is executed successfully or encounters an error.'."\n", 'type' => 'string', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'],
],
'description' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''],
],
],
'title' => 'DeleteEciScalingConfiguration',
'summary' => 'Deletes a scaling configuration of the Elastic Container Instance type. If the scaling configuration of a scaling group is in the Inactive state and the scaling group contains no elastic container instances created from the scaling configuration, you can call the DeleteEciScalingConfiguration operation to delete the scaling configuration to free up the scaling configuration quota.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","type":"json"}]',
],
'DeleteLifecycleHook' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125343',
'abilityTreeNodes' => ['FEATUREessZQ2TYX'],
],
'parameters' => [
[
'name' => 'LifecycleHookId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp14g3ee6bt3sc98****'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'LifecycleHookName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
],
],
],
'title' => 'DeleteLifecycleHook',
'summary' => 'Deletes a lifecycle hook. If you no longer require a lifecycle hook, you can call the DeleteLifecycleHook operation to delete it, which frees up the lifecycle hook quota.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'DeleteNotificationConfiguration' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125346',
'abilityTreeNodes' => ['FEATUREessJ2FJEV'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'NotificationArn',
'in' => 'query',
'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n"
."\n"
.'* If you specify CloudMonitor as the notification recipient, specify the value in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n"
.'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n"
.'* If you specify an SMQ queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of the scaling group.'."\n"
.'* account-id: the ID of your Alibaba Cloud cloud.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'DeleteNotificationConfiguration',
'summary' => 'Deletes event notification rules. The event notification feature facilitates efficient issue identification and event management by automatically forwarding notifications from Auto Scaling to designated endpoints such as CloudMonitor or Message Service (MNS) topics and queues. If you no longer require an event notification rule, you can call the DeleteNotificationConfiguration operation to delete it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DeleteScalingConfiguration' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125387',
'abilityTreeNodes' => ['FEATUREessTZHE2G'],
],
'parameters' => [
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asc-bp1bx8mzur534edp****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request. The request ID is returned regardless of whether the call is successful.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'enumValueTitles' => [],
],
],
],
'title' => 'DeleteScalingConfiguration',
'summary' => 'Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DeleteScalingGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125373',
'abilityTreeNodes' => ['FEATUREess909XOL'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'ForceDelete',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enforce the deletion of the scaling group, including the removal of the current ECS instances or elastic container instances from the scaling group and their subsequent release, even if the scaling group is actively undergoing scaling activities. Valid values:'."\n"
."\n"
.'* true: enforces the deletion of the scaling group. In this case, the scaling group first enters the Disabled state, ceasing acceptance of new scaling requests. Auto Scaling awaits the conclusion of all ongoing scaling activities in the scaling group before it automatically removes the current ECS instances or elastic container instances from the scaling group and enforces the deletion operation. Note that manually added instances are merely removed from the scaling group, whereas auto-provisioned instances are removed and deleted.'."\n"
."\n"
.'* false: does not enforce the deletion of the scaling group. The scaling group will be disabled and then deleted once all the following requirements are satisfied:'."\n"
."\n"
.' * The scaling group has no ongoing scaling activities.'."\n"
.' * The scaling group contains no ECS instances or elastic container instances (Total Capacity=0).'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'title' => 'DeleteScalingGroup',
'summary' => 'Deletes a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can create scaling groups to manage your computing power with ease. The computing power refers to the instances that provide the computing capability. If you no longer require a scaling group, you can call the DeleteScalingGroup operation to delete it to free up the scaling group quota.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'DeleteScalingRule' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125395',
'abilityTreeNodes' => ['FEATUREessRTZKQT'],
],
'parameters' => [
[
'name' => 'ScalingRuleId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling rule that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp163l21e07uhnyt****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'DeleteScalingRule',
'summary' => 'Deletes a scaling rule.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DeleteScheduledTask' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'abilityTreeCode' => '125331',
'abilityTreeNodes' => ['FEATUREess30IPAO'],
],
'parameters' => [
[
'name' => 'ScheduledTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scheduled task. An ID is a globally unique identifier (GUID) that is generated by the system for a scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'DeleteScheduledTask',
'summary' => 'Deletes scheduled tasks. For workloads with predictable patterns, you can create scheduled tasks to align with your business requirements and optimize resource utilization for cost savings. These tasks automatically ensure that sufficient computing resources are provisioned in anticipation of peak hours and efficiently release unused resources during off-peak hours, thereby streamlining operational efficiency and reducing expenses. If you no longer require a scheduled task, you can call the DeleteScheduledTask operation to delete it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeAlarms' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125355',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group with which the event-triggered task is associated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'AlarmTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
],
[
'name' => 'State',
'in' => 'query',
'schema' => ['description' => 'The status of the event-triggered task. Valid values:'."\n"
."\n"
.'* ALARM: The alert condition is met and an alert is triggered.'."\n"
.'* OK: The alert condition is not met.'."\n"
.'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OK'],
],
[
'name' => 'IsEnable',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the event-triggered task. Valid values:'."\n"
."\n"
.'* true: enables the event-triggered task.'."\n"
.'* false: disables the event-triggered task.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The metric type. Valid values:'."\n"
."\n"
.'* system: a system metric of CloudMonitor'."\n"
.'* custom: a custom metric that is reported to CloudMonitor.'."\n"
.'* hybrid: a metric of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'true', 'default' => 'system'],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The metric name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****'],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'TotalCount' => ['description' => 'The total number of event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'AlarmList' => [
'description' => 'The event-triggered tasks.'."\n",
'type' => 'array',
'items' => [
'description' => 'The event-triggered task.'."\n",
'type' => 'object',
'properties' => [
'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
'MetricName' => ['description' => 'The metric name. Valid values:'."\n"
."\n"
.'* CpuUtilization: the CPU utilization of an Elastic Compute Service (ECS) instance. Unit: %.'."\n"
.'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n"
.'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n"
.'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n"
.'* VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n"
.'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n"
.'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n"
.'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n"
.'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n"
.'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n"
.'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n"
.'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n"
.'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n"
.'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n"
.'* MemoryUtilization: the memory usage. Unit: %.'."\n"
.'* LoadAverage: the average system load.'."\n"
.'* TcpConnection: the total number of TCP connections.'."\n"
.'* TcpConnection: the number of established TCP connections.'."\n"
.'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n"
.'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n"
.'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n"
.'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n"
.'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n"
.'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n"
.'* LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'example' => 'CpuUtilization'],
'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is executed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'State' => ['description' => 'The status of the event-triggered task. Valid values:'."\n"
."\n"
.'* ALARM: The alert condition is met and an alert is triggered.'."\n"
.'* OK: The alert condition is not met.'."\n"
.'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", 'type' => 'string', 'example' => 'ALARM'],
'Period' => ['description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> You can set the value of this parameter to 15 Seconds only for scaling groups of the ECS type.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the event-triggered task is associated.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'],
'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the metric threshold.'."\n"
."\n"
.'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n"
.'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n"
.'* Valid value if the metric value is greater than the threshold: >.'."\n"
.'* Valid value if the metric value is less than the threshold: <.'."\n", 'type' => 'string', 'example' => '>='],
'Effective' => ['description' => 'The effective period of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'Test'],
'Description' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'Test alarm task.'],
'MetricType' => ['description' => 'The type of the metric. Valid values:'."\n"
."\n"
.'* system: system metrics of CloudMonitor'."\n"
.'* custom: custom metrics that are reported to CloudMonitor.'."\n"
.'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => 'system'],
'Name' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'TestAlarmTask'],
'Threshold' => ['description' => 'The threshold of the metric. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '80.0'],
'Enable' => ['description' => 'Indicates whether the event-triggered task feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true'],
'Statistics' => ['description' => 'The method that is used to aggregate the metric data. Valid values:'."\n"
."\n"
.'* Average: the average value'."\n"
.'* Minimum: the minimum value'."\n"
.'* Maximum: the maximum value'."\n", 'type' => 'string', 'example' => 'Average'],
'Dimensions' => [
'description' => 'The metric dimensions.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the dimensions.'."\n",
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The dimension key of the metric. Valid values:'."\n"
."\n"
.'* user_id: the ID of your Alibaba Cloud account.'."\n"
.'* scaling_group: the scaling group that is monitored by the event-triggered task.'."\n"
.'* device: the NIC type.'."\n"
.'* state: the status of the TCP connection.'."\n", 'type' => 'string', 'example' => 'device'],
'DimensionValue' => ['description' => 'The dimension value of the metric. The value of DimensionValue varies based on the value of DimensionKey.'."\n"
."\n"
.'* If you set DimensionKey to `user_id`, the system specifies the value of DimensionValue.'."\n"
."\n"
.'* If you set DimensionKey to `scaling_group`, the system specifies the value of DimensionValue.'."\n"
."\n"
.'* If you set DimensionKey to `device`, you can set DimensionValue to eth0 or eth1.'."\n"
."\n"
.' * For instances of the classic network type, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n"
.' * For instances of the classic network type, eth1 indicates the public NIC.'."\n"
."\n"
.'* If you set DimensionKey to `state`, you can set DimensionValue to TCP_TOTAL or ESTABLISHED.'."\n"
."\n"
.' * TCP_TOTAL indicates the total number of TCP connections.'."\n"
.' * ESTABLISHED indicates the number of TCP connections that are established.'."\n", 'type' => 'string', 'example' => 'eth0'],
],
],
],
'AlarmActions' => [
'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n",
'type' => 'array',
'items' => ['description' => 'The unique identifier of the scaling rule that is associated with the event-triggered task.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****'],
],
'Expressions' => [
'description' => 'The alert conditions of the multi-metric alert rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n",
'type' => 'object',
'properties' => [
'MetricName' => ['description' => 'The name of the metric that is specified in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n"
.'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n"
.'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n"
.'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n"
.'* VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n"
.'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n"
.'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n"
.'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n"
.'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n"
.'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n"
.'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n"
.'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n"
.'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n"
.'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n"
.'* MemoryUtilization: the memory usage. Unit: %.'."\n"
.'* LoadAverage: the average system load.'."\n"
.'* TcpConnection: the total number of TCP connections.'."\n"
.'* TcpConnection: the number of established TCP connections.'."\n"
.'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n"
.'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n"
.'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n"
.'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n"
.'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n"
.'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n"
.'* LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'example' => 'CpuUtilization'],
'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the threshold.'."\n"
."\n"
.'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n"
.'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n"
.'* Valid value if the metric value is greater than the threshold: >.'."\n"
.'* Valid value if the metric value is less than the threshold: <.'."\n", 'type' => 'string', 'example' => '>='],
'Period' => ['description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set Period to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '900'],
'Statistics' => ['description' => 'The method that is used to aggregate statistics about the metrics in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* Average: the average value'."\n"
.'* Minimum: the minimum value'."\n"
.'* Maximum: the maximum value'."\n", 'type' => 'string', 'example' => 'Average'],
'Threshold' => ['description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '40.0'],
],
],
],
'ExpressionsLogicOperator' => ['description' => 'The relationship between the trigger conditions that are specified in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet their trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n"
.'* `||`: An alert is triggered only if one of the metrics in the multi-metric alert rule meets its trigger condition.'."\n", 'type' => 'string', 'example' => '&&'],
'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n"
."\n"
.'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'example' => 'aliyun-test'],
'HybridMetrics' => [
'description' => 'The Hybrid Cloud Monitoring metrics.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'example' => 'a'],
'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n"
."\n"
.'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'example' => '(a+b)/2'],
'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible'],
'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n"
."\n"
.'* Average: The average value of all metric values within a specified interval is calculated.'."\n"
.'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n"
.'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", 'type' => 'string', 'example' => 'Average'],
'Dimensions' => [
'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'queue'],
'DimensionValue' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'testQueue'],
],
'description' => '',
],
],
],
'description' => '',
],
],
'PromQL' => ['description' => 'The PromQL statement of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => '(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)'],
],
],
],
],
],
],
],
'title' => 'DescribeAlarms',
'summary' => 'Queries event-triggered tasks. You can call the DescribeAlarms operation to learn about the configurations of event-triggered tasks and keep updated on monitoring data changes. This helps you troubleshoot system resource issues at the earliest opportunity and ensures system stability and reliability.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeAlarms',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"Test\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ],\\n \\"AlarmActions\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ],\\n \\"Expressions\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ],\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ],\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeAlertConfiguration' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '208814',
'abilityTreeNodes' => ['FEATUREessFY8KDA'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'ScaleStatuses' => [
'description' => 'The status of the scaling activities that trigger text message, internal message, or email-based notifications.'."\n",
'type' => 'array',
'items' => ['description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n"
."\n"
.'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n"
.'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n"
.'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'ScaleSuccessful'],
],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]',
'title' => 'DescribeAlertConfiguration',
'summary' => 'Queries the status of scaling activities that trigger text message, internal message, or email-based notifications. When you call the DescribeAlertConfiguration operation, you must specify the scaling group ID and region ID to query the status of the desired scaling activities. A scaling activity can be in one of the following states: Successful, Failed, and Rejected.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeAlertConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeCandidateInstanceType' => [
'summary' => 'Lists candidate instance types.',
'path' => '',
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREessU7F1S4'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'maxItems' => 20,
'description' => 'The specified ECS instance types.',
'type' => 'array',
'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'ZoneIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'maxItems' => 20,
'description' => 'The specified availability zones.',
'type' => 'array',
'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'AllowDifferentGeneration',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to include instance types from other generations as candidates.'."\n"
."\n"
.'- For example, if the current instance type is ecs.c7.large, you can set this parameter to true to include instance types such as ecs.c6.large and ecs.c8.large in the list of candidates.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'AllowCrossAz',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to include vSwitches from other availability zones as candidates.'."\n"
."\n"
.'> The instance types remain unchanged. Only new availability zones are added as candidates. If a scaling group fails to scale out in all selected availability zones due to issues such as insufficient inventory, Auto Scaling automatically adds a vSwitch in a new availability zone to the scaling group based on this setting.'."\n"
.'> For example, if a scaling group is configured for the cn-hangzhou-h and cn-hangzhou-g availability zones and a scale-out fails in both zones, Auto Scaling may create a vSwitch in the cn-hangzhou-k availability zone and add it to the scaling group based on real-time inventory.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'MaxPrice',
'in' => 'query',
'schema' => ['description' => 'The maximum price for a candidate instance type.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The bidding strategy for pay-as-you-go instances. Valid values:'."\n"
."\n"
.'- NoSpot: a standard pay-as-you-go instance.'."\n"
."\n"
.'- SpotWithPriceLimit: a spot instance with a user-defined maximum price.'."\n"
."\n"
.'- SpotAsPriceGo: a spot instance where the system automatically bids at the market price.'."\n"
."\n"
.'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''],
],
[
'name' => 'SystemDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'maxItems' => 100,
'description' => 'The system disk categories, ordered by priority from high to low. If Auto Scaling cannot create a system disk by using a higher-priority category, it tries the next one in the list.',
'type' => 'array',
'items' => ['description' => 'The category of the system disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk.'."\n"
."\n"
.'- cloud\\_efficiency: ultra cloud disk.'."\n"
."\n"
.'- cloud\\_ssd: SSD cloud disk.'."\n"
."\n"
.'- cloud\\_essd: ESSD.'."\n"
."\n"
.'> If you specify this parameter, you cannot specify `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'DataDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'maxItems' => 100,
'description' => 'The data disk categories, ordered by priority from high to low. If Auto Scaling cannot create a data disk by using a higher-priority category, it tries the next one in the list.',
'type' => 'array',
'items' => ['description' => 'The category of the data disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk.'."\n"
."\n"
.'- cloud\\_efficiency: ultra cloud disk.'."\n"
."\n"
.'- cloud\\_ssd: SSD cloud disk.'."\n"
."\n"
.'- cloud\\_essd: ESSD.'."\n"
."\n"
.'- ephemeral\\_ssd: local SSD disk.', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'ImageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image used to create instances.'."\n"
."\n"
.'> If the specified image contains both a system disk and data disks, any existing data disk information in the scaling configuration is cleared.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''],
],
[
'name' => 'ImageName',
'in' => 'query',
'schema' => ['description' => 'The name of the image. The name must be unique within a region. You cannot use this parameter to specify an image from Alibaba Cloud Marketplace.'."\n"
."\n"
.'> This parameter is an alternative to the `ImageId` parameter. If you specify `ImageId`, `ImageName` is ignored.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', 'title' => ''],
],
[
'name' => 'ImageFamily',
'in' => 'query',
'schema' => ['description' => 'The name of the image family. When specified, the latest image in this family is used to create instances. This parameter cannot be used with ImageId.'."\n"
."\n"
.'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'title' => 'Schema of Response ',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'ID of the request ', 'description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'CandidateInstanceTypes' => [
'description' => 'A list of candidate ECS instance types.',
'type' => 'array',
'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'example' => 'ecs.c7a.2xlarge', 'title' => ''],
'title' => '',
'example' => '',
],
'CandidateZoneIds' => [
'description' => 'A list of candidate availability zones.',
'type' => 'array',
'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'example' => 'cn-hangzhou-k', 'title' => ''],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Query candidate instance types ',
'changeSet' => [],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"CandidateInstanceTypes\\": [\\n \\"ecs.c7a.2xlarge\\"\\n ],\\n \\"CandidateZoneIds\\": [\\n \\"cn-hangzhou-k\\"\\n ]\\n}","type":"json"}]',
],
'DescribeDiagnoseReports' => [
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221362',
'abilityTreeNodes' => ['FEATUREessA4Z14P'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2vcis7yglxtm*****'],
],
[
'name' => 'ReportIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-j6c7wvdzk5103bkm8cx4'],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996'],
'Reports' => [
'description' => 'The diagnostic reports.'."\n",
'type' => 'array',
'items' => [
'description' => 'The diagnostic report.'."\n",
'type' => 'object',
'properties' => [
'UserId' => ['description' => 'The user ID of the scaling group.'."\n", 'type' => 'string', 'example' => '161456884*******'],
'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-qingdao'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp124uve5iph3*****'],
'Details' => [
'description' => 'The details of the diagnostic report.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DiagnoseType' => ['description' => 'The type of the diagnostic item. Valid values:'."\n"
."\n"
.'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n"
.'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account at the China site (aliyun.com) is greater than or equal to CNY 100.'."\n"
.'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n"
.'* VSwitch: Checks whether a specific vSwitch can work as expected. For example, if a vSwitch is deleted, the vSwitch cannot provide services and an exception occurs.'."\n"
.'* SecurityGroup: Checks whether a specific security group can work as expected. For example, if a security group is deleted, the security group cannot provide services and an exception occurs.'."\n"
.'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n"
.'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n"
.'* AlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the ALB instances associated with the scaling group has reached the upper limit.'."\n"
.'* NlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the NLB instances associated with the scaling group has reached the upper limit.'."\n", 'type' => 'string', 'example' => 'AccountArrearage'],
'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'sg-280ih****'],
'Status' => ['description' => 'The status of the diagnostic item. Valid values:'."\n"
."\n"
.'* Normal: The diagnostic result is normal.'."\n"
.'* Warn: The diagnostic result is warning.'."\n"
.'* Critical: The diagnostic result is critical.'."\n", 'type' => 'string', 'example' => 'Normal'],
'ErrorCode' => ['description' => 'The error code of the diagnostic item. Valid values:'."\n"
."\n"
.'* VSwitchIdNotFound: The vSwitch does not exist.'."\n"
.'* SecurityGroupNotFound: The security group does not exist.'."\n"
.'* KeyPairNotFound: The key pair does not exist.'."\n"
.'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n"
.'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n"
.'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n"
.'* AccountArrearage: Your account has overdue payments.'."\n"
.'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is less than CNY 100.'."\n"
.'* ElasticStrengthAlert: The inventory levels are lower than expected.'."\n", 'type' => 'string', 'example' => 'VSwitchIdNotFound'],
],
'description' => '',
],
],
'ReportId' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-bp14p0cjp7wvjob5l6hk'],
'ProcessStatus' => ['description' => 'The status of the diagnostic report. Valid values:'."\n"
."\n"
.'* processing: The diagnosis is in progress.'."\n"
.'* Finished: The diagnosis is complete.'."\n", 'type' => 'string', 'example' => 'Finished'],
'DiagnoseStatus' => ['description' => 'The status of the diagnostic item. Only the severe status is displayed in the diagnostic report. Valid values:'."\n"
."\n"
.'* Normal: The diagnostic result is normal.'."\n"
.'* Warn: The diagnostic result is warning.'."\n"
.'* Critical: The diagnostic result is critical.'."\n", 'type' => 'string', 'example' => 'Normal'],
'CreationTime' => ['description' => 'The time when the diagnostic report was created.'."\n", 'type' => 'string', 'example' => '2024-08-23T02:22:30Z'],
],
],
],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'TotalCount' => ['description' => 'The total number of diagnostic reports.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
],
],
],
],
'title' => 'DescribeDiagnoseReports',
'summary' => 'DescribeDiagnoseReports',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeDiagnoseReports',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ECA123C6-107B-5F70-A177-740A7224C996\\",\\n \\"Reports\\": [\\n {\\n \\"UserId\\": \\"161456884*******\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ScalingGroupId\\": \\"asg-bp124uve5iph3*****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"AccountArrearage\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"VSwitchIdNotFound\\"\\n }\\n ],\\n \\"ReportId\\": \\"dr-bp14p0cjp7wvjob5l6hk\\",\\n \\"ProcessStatus\\": \\"Finished\\",\\n \\"DiagnoseStatus\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2024-08-23T02:22:30Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
],
'DescribeEciScalingConfigurationDetail' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '212769',
'abilityTreeNodes' => ['FEATUREessU7F1S4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'],
],
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration based on which elastic container instances are created.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1ffogfdauy0nu5****'],
],
[
'name' => 'OutputFormat',
'in' => 'query',
'schema' => [
'description' => 'The output format. Set the value to YAML.'."\n",
'type' => 'string',
'required' => false,
'enumValueTitles' => ['YAML' => 'YAML'],
'example' => 'yaml',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'],
'ScalingConfiguration' => [
'description' => 'The information about the scaling configuration.'."\n",
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the scaling configuration was created.'."\n", 'type' => 'string', 'example' => '2023-05-10T02:39:15Z'],
'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'scalingconfi****'],
'SecurityGroupId' => ['description' => 'The ID of the security group with which the elastic container instance is associated. Elastic container instances that are associated with the same security group can access each other.'."\n", 'type' => 'string', 'example' => 'sg-bp18kz60mefs****'],
'ActiveDeadlineSeconds' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
'SpotStrategy' => ['description' => 'The preemption policy of the instance. Valid values:'."\n"
."\n"
.'* NoSpot: The instance is created as a regular pay-as-you-go instance.'."\n"
.'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n"
.'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot'],
'AutoCreateEip' => ['description' => 'Indicates whether an elastic IP address (EIP) is automatically created and bound to the elastic container instance.'."\n", 'type' => 'boolean', 'example' => 'true'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1frlu04fq4zv65b1bh'],
'EphemeralStorage' => ['description' => 'The size of the temporary storage space. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'Description' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'This is an example.'],
'EipBandwidth' => ['description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'ImageSnapshotId' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****'],
'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n"
."\n"
.'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n"
."\n"
.'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '4'],
'RestartPolicy' => ['description' => 'The restart policy of the container group. Valid values:'."\n"
."\n"
.'* Never: The container group is never restarted.'."\n"
.'* Always: The container group is always restarted.'."\n"
.'* OnFailure: The container group is restarted upon failures.'."\n", 'type' => 'string', 'example' => 'Always'],
'SpotPriceLimit' => ['description' => 'The maximum hourly price for the preemptible instance.'."\n"
."\n"
.'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025'],
'IngressBandwidth' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'],
'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'TerminationGracePeriodSeconds' => ['description' => 'The buffer time during which a program handles operations before the program stops.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
'LoadBalancerWeight' => ['description' => 'The weight of an elastic container instance as a Server Load Balancer (SLB) backend server. Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'DnsPolicy' => ['description' => 'The Domain Name System (DNS) policy.'."\n", 'type' => 'string', 'example' => 'Default'],
'HostName' => ['description' => 'The hostname.'."\n", 'type' => 'string', 'example' => 'hostname'],
'EgressBandwidth' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10485760'],
'RegionId' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'example' => 'cn-shanghai'],
'RamRoleName' => ['description' => 'The Resource Access Management (RAM) role of the elastic container instance. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", 'type' => 'string', 'example' => 'ram:PassRole'."\n"],
'Cpu' => ['description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'],
'AutoMatchImageCache' => ['description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'],
'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmwozpmmksakq'],
'ContainerGroupName' => ['description' => 'The name of the container group.'."\n", 'type' => 'string', 'example' => 'test'],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-2zec39vg84usxdocme6a'],
'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. You can specify this parameter for only specific instance types.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'SlsEnable' => ['description' => 'Indicates whether user logs are collected. Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'false'],
'Containers' => [
'description' => 'The containers in the elastic container instance.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'ReadinessProbeHttpGetPath' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform readiness probes.'."\n", 'type' => 'string', 'example' => '/usr/local'],
'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'LivenessProbePeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'LivenessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform liveness probes. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'],
'WorkingDir' => ['description' => 'The working directory in the container.'."\n", 'type' => 'string', 'example' => '/usr/local/nginx'],
'Tty' => ['description' => 'Specifies whether to enable the Interaction feature. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'If the command is a /bin/bash command, the value of this parameter is true.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'],
'LivenessProbeHttpGetPort' => ['description' => 'The port detected by HTTP Get requests when you use the HTTP requests to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080'],
'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'ReadinessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'Stdin' => ['description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'],
'Memory' => ['description' => 'The memory size.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'],
'Name' => ['description' => 'The container name.'."\n", 'type' => 'string', 'example' => 'nginx'],
'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'],
'LivenessProbeHttpGetPath' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform liveness probes.'."\n", 'type' => 'string', 'example' => '/usr/nginx/'."\n"],
'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'example' => 'registry-vpc.aliyuncs.com/eci_open/alpine:3.5'],
'ReadinessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'],
'ReadinessProbeHttpGetPort' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP Get requests to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the entry point of the container process.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000'],
'LivenessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'],
'StdinOnce' => ['description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n"
."\n"
.'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", 'type' => 'boolean', 'example' => 'true'],
'Cpu' => ['description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2'],
'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'Ports' => [
'description' => 'The exposed ports and protocols.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8083'],
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'],
],
],
],
'VolumeMounts' => [
'description' => 'The volumes that are mounted to the container.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'],
'SubPath' => ['description' => 'The subdirectory of the volume.'."\n", 'type' => 'string', 'example' => 'data2/'."\n"],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'],
'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n"
.'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'],
'MountPath' => ['description' => 'The directory in which the container mounts the volume.'."\n"
."\n"
.'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/pod/data'],
],
],
],
'EnvironmentVars' => [
'description' => 'The environment variables.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'],
'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/bin/'."\n"],
'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'fieldPath'],
],
],
],
'Commands' => [
'description' => 'The container startup commands.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'example' => 'sleep'],
],
'LivenessProbeExecCommands' => [
'description' => 'The commands that are run in the container when you use a CLI to perform liveness probes.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", 'type' => 'string', 'example' => 'cat /tmp/healthy'],
],
'Args' => [
'description' => 'The arguments that are passed to the container startup commands.'."\n",
'type' => 'array',
'items' => ['description' => 'The argument that is passed to the container startup command.'."\n", 'type' => 'string', 'example' => '100'],
],
'ReadinessProbeExecCommands' => [
'description' => 'The commands that are run in the container when you use a CLI to perform readiness probes.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", 'type' => 'string', 'example' => 'cat /tmp/healthy'."\n"],
],
'SecurityContextCapabilityAdds' => [
'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n",
'type' => 'array',
'items' => ['description' => 'The permission that is granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'],
],
'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'."\n"],
'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'],
'LifecyclePostStartHandlerExecs' => [
'description' => 'The commands that are run by using a CLI for configuring the postStart callback function within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run by using a CLI for configuring the postStart callback function within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'],
],
'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'."\n"],
'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'."\n"],
'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'],
'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'],
'LifecyclePreStopHandlerExecs' => [
'description' => 'The commands that are run by using a CLI for configuring the preStop callback function within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run by using a CLI for configuring the preStop callback function within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'],
],
'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
],
],
],
'InitContainers' => [
'description' => 'The init containers.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean'],
'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'],
'WorkingDir' => ['description' => 'The working directory of the init container.'."\n", 'type' => 'string', 'example' => '/www'],
'Cpu' => ['description' => 'The number of vCPUs that are allocated to the init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5'],
'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine'],
'Gpu' => ['description' => 'The number of GPUs that are allocated to the init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'string', 'example' => '1000'],
'Memory' => ['description' => 'The memory size of the init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'],
'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'example' => 'test-init'."\n"],
'InitContainerEnvironmentVars' => [
'description' => 'The environment variables of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'],
'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/local/bin'."\n"],
'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'],
],
],
],
'InitContainerPorts' => [
'description' => 'The ports of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024'],
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'example' => 'UDP'],
],
],
],
'InitContainerVolumeMounts' => [
'description' => 'The volume mounts of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'ReadOnly' => ['description' => 'Indicates whether the mount directory is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'SubPath' => ['description' => 'The subdirectory of the volume.'."\n", 'type' => 'string', 'example' => '/usr/sub/'],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'test-empty'."\n"],
'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n"
.'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'],
'MountPath' => ['description' => 'The directory to which the init container mounts the volume.'."\n"
."\n"
.'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/usr/share/'."\n"],
],
],
],
'SecurityContextCapabilityAdds' => [
'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n",
'type' => 'array',
'items' => ['description' => 'The permission that is granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'],
],
'InitContainerCommands' => [
'description' => 'The commands that are used to start the init container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is used to start the init container.'."\n", 'type' => 'string', 'example' => 'sleep'],
],
'InitContainerArgs' => [
'description' => 'The arguments that are passed to the startup commands of the init container.'."\n",
'type' => 'array',
'items' => ['description' => 'The argument that is passed to the startup command of the init container.'."\n", 'type' => 'string', 'example' => '10'],
],
],
],
],
'Tags' => [
'description' => 'The tags of the elastic container instance. Tags are specified in the key-value format.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'version'],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => '3'],
],
],
],
'Volumes' => [
'description' => 'The volumes.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The volume type. Valid values:'."\n"
."\n"
.'* EmptyDirVolume'."\n"
.'* NFSVolume'."\n"
.'* ConfigFileVolume'."\n"
.'* FlexVolume'."\n", 'type' => 'string', 'example' => 'EmptyDirVolume'],
'DiskVolumeDiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'example' => 'd-xx'],
'DiskVolumeFsType' => ['description' => 'The system type of the disk volume.'."\n", 'type' => 'string', 'example' => 'xfs'],
'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of the node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", 'type' => 'string', 'example' => 'memory'],
'NFSVolumePath' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'example' => '/share'."\n"],
'DiskVolumeDiskSize' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'],
'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'FlexVolumeFsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'example' => 'ext4'],
'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'],
'FlexVolumeDriver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'example' => 'flexvolume'],
'FlexVolumeOptions' => ['description' => 'The FlexVolume options.'."\n", 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'."\n"],
'NFSVolumeServer' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'."\n"],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'."\n"],
'ConfigFileVolumeConfigFileToPaths' => [
'description' => 'The paths to the configuration files.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Path' => ['description' => 'The path to the configuration file.'."\n", 'type' => 'string', 'example' => '/usr/bin/'."\n"],
'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'],
'Content' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'example' => 'bGl1bWk='."\n"],
],
],
],
'EmptyDirVolumeSizeLimit' => ['description' => 'The storage size of the emptyDir volume.'."\n", 'type' => 'string', 'example' => '256Mi'],
'HostPathVolumeType' => ['description' => 'The type of the HostPath volume.'."\n", 'type' => 'string', 'example' => 'Directory'],
'HostPathVolumePath' => ['description' => 'The path to the HostPath volume on the host.'."\n", 'type' => 'string', 'example' => '/pod/data'."\n"],
],
],
],
'ImageRegistryCredentials' => [
'description' => 'The image repositories.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'example' => 'yourpaasword'],
'Server' => ['description' => 'The domain name of the image repository.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'."\n"],
'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'example' => 'yourusername'],
],
],
],
'DnsConfigOptions' => [
'description' => 'The DNS options.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'example' => 'name'],
'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'example' => 'value'],
],
],
],
'HostAliases' => [
'description' => 'The custom hostname mappings of a container in the elastic container instance.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Ip' => ['description' => 'The added IP address.'."\n", 'type' => 'string', 'example' => '192.0.XX.XX'."\n"],
'Hostnames' => [
'description' => 'The added hostnames.'."\n",
'type' => 'array',
'items' => ['description' => 'The added hostname.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'."\n"],
],
],
],
],
'SecurityContextSysCtls' => [
'description' => 'The system information of the security context in which the elastic container instance is run.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The system name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => 'kernel.msgmax'."\n"],
'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => '65536'],
],
],
],
'AcrRegistryInfos' => [
'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****'."\n"],
'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'acr-test'."\n"],
'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'."\n"],
'Domains' => [
'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n",
'type' => 'array',
'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'."\n"],
],
],
],
],
'DnsConfigNameServers' => [
'description' => 'The IP addresses of DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'example' => '172.10.*.**'."\n"],
],
'DnsConfigSearches' => [
'description' => 'The search domains of the DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'example' => 'svc.local.kubenetes'."\n"],
],
'NtpServers' => [
'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com'."\n"],
],
'LifecycleState' => ['description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n"
."\n"
.'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create elastic container instances.'."\n"
.'* Inactive: The scaling configuration is inactive in the scaling group. Inactive scaling configurations are retained in scaling groups. However, Auto Scaling does not use inactive scaling groups to create elastic container instances.'."\n", 'type' => 'string', 'example' => 'Active'],
'CostOptimization' => ['description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false'],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n"
."\n"
.'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n"
.'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n"
.'* CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'],
'InstanceTypes' => [
'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n",
'type' => 'array',
'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'."\n"],
],
'DataCacheBucket' => ['description' => 'The bucket that caches data.'."\n", 'type' => 'string', 'example' => 'default'],
'DataCachePL' => ['description' => 'The performance level (PL) of the cloud disk that caches data. We recommend that you use enhanced SSDs (ESSDs). Valid values:'."\n"
."\n"
.'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n"
.'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n"
.'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n"
.'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'example' => 'PL1'."\n"],
'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that caches data. Valid values: 0 to min{50,000, 1,000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40000'],
'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that caches data. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).'."\n", 'type' => 'boolean', 'example' => 'false'],
'EipPublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'example' => 'pippool-bp187arfugi543y1s****'],
'EipCommonBandwidthPackage' => ['description' => 'The bound EIP bandwidth plan.'."\n", 'type' => 'string', 'example' => 'cbwp-bp1rxai1z4b1an454xl8m'],
'EipISP' => ['description' => 'The line type of the EIP. Valid values:'."\n"
."\n"
.'* BGP: BGP (Multi-ISP) lines'."\n"
.'* BGP_PRO: BGP (Multi-ISP) Pro'."\n", 'type' => 'string', 'example' => 'BGP'],
'ComputeCategory' => [
'description' => 'The computing power types. A value of economy indicates that economic instance types are returned.'."\n",
'type' => 'array',
'items' => ['description' => 'The computing power type.'."\n", 'type' => 'string', 'example' => 'economy'],
],
],
],
'Output' => ['description' => 'The YAML output of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'apiVersion: apps/v1'."\n"
.'kind: Deployment'."\n"
.'metadata:'."\n"
.' name: nginx-deployment'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' spec:'."\n"
.' replicas: 3'."\n"
.' selector:'."\n"
.' matchLabels:'."\n"
.' app: nginx'."\n"
.' template:'."\n"
.' metadata:'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' annotations:'."\n"
.' k8s.aliyun.com/eip-bandwidth: 10'."\n"
.' k8s.aliyun.com/eci-with-eip: true'."\n"
.' spec:'."\n"
.' containers:'."\n"
.' - name: nginx'."\n"
.' image: nginx:1.14.2'."\n"
.' ports:'."\n"
.' - containerPort: 80'],
],
'description' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\",\\n \\"ScalingConfiguration\\": {\\n \\"CreationTime\\": \\"2023-05-10T02:39:15Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 60,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp1frlu04fq4zv65b1bh\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 4,\\n \\"RestartPolicy\\": \\"Always\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 50,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"hostname\\",\\n \\"EgressBandwidth\\": 10485760,\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\\\n\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmwozpmmksakq\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-2zec39vg84usxdocme6a\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": false,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": true,\\n \\"LivenessProbeHttpGetPort\\": 8080,\\n \\"Gpu\\": 2,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\\\n\\",\\n \\"Image\\": \\"registry-vpc.aliyuncs.com/eci_open/alpine:3.5\\",\\n \\"ReadinessProbeTcpSocketPort\\": 80,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 80,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 5,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8083,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": true,\\n \\"SubPath\\": \\"data2/\\\\n\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\\\n\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/www\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"1000\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\\\n\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1024,\\n \\"Protocol\\": \\"UDP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\\\n\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\\\n\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"d-xx\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\\\n\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\\\n\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\\\n\\",\\n \\"Name\\": \\"default-volume1\\\\n\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\\\n\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\\\n\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\\\n\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\\\n\\",\\n \\"UserName\\": \\"yourusername\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\\\n\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\\\n\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\\\n\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\\\n\\",\\n \\"InstanceName\\": \\"acr-test\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\\\n\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\\\n\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\\\n\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\\\n\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\\\n\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\\\n\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"EipPublicIpAddressPoolId\\": \\"pippool-bp187arfugi543y1s****\\",\\n \\"EipCommonBandwidthPackage\\": \\"cbwp-bp1rxai1z4b1an454xl8m\\",\\n \\"EipISP\\": \\"BGP\\",\\n \\"ComputeCategory\\": [\\n \\"economy\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]',
'title' => 'DescribeEciScalingConfigurationDetail',
'summary' => 'Queries the details of a scaling configuration. You can query a scaling configuration by its ID to learn about its details such as the temporary storage size, number of IPv6 addresses, and bandwidth of the elastic IP address (EIP). The scaling configuration details can be obtained as a YAML file.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeEciScalingConfigurationDetail',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeEciScalingConfigurations' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125390',
'abilityTreeNodes' => ['FEATUREessU7F1S4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****'],
],
[
'name' => 'ScalingConfigurationIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration IDs.'."\n"
."\n"
.'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of `LifecycleState`.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the scaling configuration that you want to query.'."\n"
."\n"
.'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of LifecycleState.'."\n", 'type' => 'string', 'required' => false, 'example' => ' asc-bp17pelvl720x5ub****'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'ScalingConfigurationNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration names.'."\n"
."\n"
.'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n",
'type' => 'array',
'items' => ['description' => 'The name of scaling configuration that you want to query.'."\n"
."\n"
.'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingcon**** '."\n"],
'required' => false,
'maxItems' => 10,
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'TotalCount' => ['description' => 'The total number of scaling configurations.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScalingConfigurations' => [
'description' => 'The scaling configurations.'."\n",
'type' => 'array',
'items' => [
'description' => 'The scaling configuration.'."\n",
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time at which the scaling configuration was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'],
'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'scalingconfi****'],
'SecurityGroupId' => ['description' => 'The ID of the security group with which elastic container instances are associated. Elastic container instances that are associated with the same security group can communicate with each other.'."\n", 'type' => 'string', 'example' => 'sg-bp18kz60mefs****'],
'ActiveDeadlineSeconds' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1000'],
'SpotStrategy' => ['description' => 'The bidding policy for elastic container instances. Valid values:'."\n"
."\n"
.'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n"
.'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n"
.'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot'],
'AutoCreateEip' => ['description' => 'Indicates whether elastic IP addresses (EIPs) are automatically created and bound to elastic container instances.'."\n", 'type' => 'boolean', 'example' => 'true'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****'],
'EphemeralStorage' => ['description' => 'The capacity of the ephemeral storage. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'Description' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'This is an example.'],
'EipBandwidth' => ['description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'ImageSnapshotId' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****'],
'Memory' => ['description' => 'The memory size.'."\n"
."\n"
.'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. After you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n"
."\n"
.'> You can specify CPU and Memory to define instance types only if you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '16'],
'RestartPolicy' => ['description' => 'The restart policy of elastic container instances. Valid values:'."\n"
."\n"
.'* Never: Elastic container instances are never restarted.'."\n"
.'* Always: Elastic container instances are always restarted.'."\n"
.'* OnFailure: Elastic container instances are restarted upon failures.'."\n", 'type' => 'string', 'example' => 'Never'],
'SpotPriceLimit' => ['description' => 'The maximum hourly price for preemptible elastic container instances.'."\n"
."\n"
.'This parameter is returned only if you set SpotStrategy to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025'],
'IngressBandwidth' => ['description' => 'The maximum inbound public bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'],
'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'TerminationGracePeriodSeconds' => ['description' => 'The buffer time during which a program handles operations before the program stops.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
'LoadBalancerWeight' => ['description' => 'The load balancing weight of each elastic container instance as a backend server. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'DnsPolicy' => ['description' => 'The Domain Name System (DNS) policy.'."\n", 'type' => 'string', 'example' => 'Default'],
'HostName' => ['description' => 'The hostname series.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'],
'EgressBandwidth' => ['description' => 'The maximum outbound public bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'],
'RegionId' => ['description' => 'The region ID of elastic container instances.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'],
'RamRoleName' => ['description' => 'The Resource Access Management (RAM) role of elastic container instances. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", 'type' => 'string', 'example' => 'ram:PassRole'],
'Cpu' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'],
'AutoMatchImageCache' => ['description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-8db03793gfrz****'],
'ContainerGroupName' => ['description' => 'The name series of elastic container instances.'."\n", 'type' => 'string', 'example' => 'test'],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****'],
'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. This parameter can be specified for only specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'SlsEnable' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'False'],
'Containers' => [
'description' => 'The containers in an elastic container instance.'."\n",
'type' => 'array',
'items' => [
'description' => 'The containers in the elastic container instance.'."\n",
'type' => 'object',
'properties' => [
'ReadinessProbeHttpGetPath' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", 'type' => 'string', 'example' => '/usr/local'],
'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'LivenessProbePeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'LivenessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform liveness probes. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'],
'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'example' => '/usr/local/nginx'],
'Tty' => ['description' => 'Indicates whether the Interaction feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'If the command is a /bin/bash command, the value of this parameter is true.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'LivenessProbeHttpGetPort' => ['description' => 'The port to which HTTP GET requests are sent to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ReadinessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'Stdin' => ['description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'],
'Memory' => ['description' => 'The memory size per container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'],
'Name' => ['description' => 'The custom name of the container.'."\n", 'type' => 'string', 'example' => 'nginx'],
'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'],
'LivenessProbeHttpGetPath' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform liveness probes.'."\n", 'type' => 'string', 'example' => '/usr/nginx/'],
'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'example' => 'mysql'],
'ReadinessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8888'],
'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'],
'ReadinessProbeHttpGetPort' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '/usr/nginx/'],
'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the entry point of the container process.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000'],
'LivenessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n"
."\n"
.'* Always: Each time image pulling is performed.'."\n"
.'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n"
.'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'example' => 'Always'],
'StdinOnce' => ['description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n"
."\n"
.'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", 'type' => 'boolean', 'example' => 'true'],
'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'],
'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'Ports' => [
'description' => 'The exposed ports and protocols.'."\n",
'type' => 'array',
'items' => [
'description' => 'The exposed ports and protocols of the container.'."\n",
'type' => 'object',
'properties' => [
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8888'],
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'],
],
],
],
'VolumeMounts' => [
'description' => 'The mounted volumes.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volumes that are mounted on the container.'."\n",
'type' => 'object',
'properties' => [
'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'example' => 'data2/'],
'Name' => ['description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", 'type' => 'string', 'example' => 'default-volume1'],
'MountPropagation' => ['description' => 'The mount propagation settings. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n"
.'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'],
'MountPath' => ['description' => 'The directory to which the volume is mounted.'."\n"
."\n"
.'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/pod/data'],
],
],
],
'EnvironmentVars' => [
'description' => 'The environment variables.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the environment variables.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'],
'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/bin/'],
'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'],
],
],
],
'Commands' => [
'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup command. You can specify up to 20 commands. Each command contains up to 256 characters.'."\n", 'type' => 'string', 'example' => 'sleep'],
],
'LivenessProbeExecCommands' => [
'description' => 'The commands that are run in the container when you use the CLI to perform liveness probes.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", 'type' => 'string', 'example' => 'cat/tmp/healthy'],
],
'Args' => [
'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'example' => '100'],
],
'ReadinessProbeExecCommands' => [
'description' => 'The commands that are run in the container when you use the CLI to perform readiness probes.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", 'type' => 'string', 'example' => 'cat/tmp/healthy'],
],
'SecurityContextCapabilityAdds' => [
'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permissions that are granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'],
],
'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'],
'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET requests that are sent for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'],
'LifecyclePostStartHandlerExecs' => [
'description' => 'The commands that are run for configuring the postStart callback function by using the CLI within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that is run for configuring the postStart callback function by using the CLI within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'],
],
'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets used for configuring the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'."\n"],
'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are sent for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'],
'LifecyclePreStopHandlerExecs' => [
'description' => 'The commands that are run for configuring the preStop callback function by using the CLI within the container.'."\n",
'type' => 'array',
'items' => ['description' => 'The commands that is run for configuring the preStop callback function by using the CLI within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'],
],
'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'],
'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets used for configuring the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
],
],
],
'InitContainers' => [
'description' => 'The init containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The init containers.'."\n",
'type' => 'object',
'properties' => [
'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'],
'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'],
'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'example' => '/usr/local'],
'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5'],
'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'example' => 'nginx'],
'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'string', 'example' => '587'],
'Memory' => ['description' => 'The memory size per init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'],
'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'example' => 'test-init'],
'InitContainerEnvironmentVars' => [
'description' => 'The environment variables.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the environment variables.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'],
'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/local/bin'],
'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'],
],
],
],
'InitContainerPorts' => [
'description' => 'The ports of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the init container ports.'."\n",
'type' => 'object',
'properties' => [
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'],
],
],
],
'InitContainerVolumeMounts' => [
'description' => 'The volumes that are mounted to the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volumes that are mounted on the container.'."\n",
'type' => 'object',
'properties' => [
'ReadOnly' => ['description' => 'Indicates whether the mount directory is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'SubPath' => ['description' => 'The volume subdirectory. A pod can mount different directories of the same volume to different directories of the init container.'."\n", 'type' => 'string', 'example' => '/usr/sub/'],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'test-empty'],
'MountPropagation' => ['description' => 'The mount propagation setting. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n"
.'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'],
'MountPath' => ['description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", 'type' => 'string', 'example' => '/usr/share/'],
],
],
],
'SecurityContextCapabilityAdds' => [
'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permissions that are granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'],
],
'InitContainerCommands' => [
'description' => 'The container startup commands.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'example' => 'sleep'],
],
'InitContainerArgs' => [
'description' => 'The container startup arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup argument.'."\n", 'type' => 'string', 'example' => '10'],
],
],
],
],
'Tags' => [
'description' => 'The tags of elastic container instances. Tags are specified in the key-value format.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tags of the elastic container instance. The tags are specified in the key-value pair format.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'version'],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => '3'],
],
],
],
'Volumes' => [
'description' => 'The volumes.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the volumes.'."\n",
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The volume type. Valid values:'."\n"
."\n"
.'* EmptyDirVolume'."\n"
.'* NFSVolume'."\n"
.'* ConfigFileVolume'."\n"
.'* FlexVolume'."\n", 'type' => 'string', 'example' => 'EmptyDirVolume'],
'DiskVolumeDiskId' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'string', 'example' => '15'],
'DiskVolumeFsType' => ['description' => 'The system type of the disk volume.'."\n", 'type' => 'string', 'example' => 'xfs'],
'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of a node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", 'type' => 'string', 'example' => 'memory'],
'NFSVolumePath' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'example' => '/share'],
'DiskVolumeDiskSize' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'],
'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'],
'FlexVolumeFsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'example' => 'ext4'],
'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'],
'FlexVolumeDriver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'example' => 'flexvolume'],
'FlexVolumeOptions' => ['description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n"
."\n"
.'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'],
'NFSVolumeServer' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'],
'ConfigFileVolumeConfigFileToPaths' => [
'description' => 'The paths to configuration files.'."\n",
'type' => 'array',
'items' => [
'description' => 'The paths to configuration files.'."\n",
'type' => 'object',
'properties' => [
'Path' => ['description' => 'The relative path to the configuration file.'."\n", 'type' => 'string', 'example' => '/usr/bin/'],
'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'],
'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'example' => 'bGl1bWk='],
],
],
],
'EmptyDirVolumeSizeLimit' => ['description' => 'The storage size of the emptyDir volume.'."\n", 'type' => 'string', 'example' => '256Mi'],
'HostPathVolumeType' => [
'description' => 'The type of the HostPath volume.'."\n",
'type' => 'string',
'enumValueTitles' => [],
'example' => 'Directory',
],
'HostPathVolumePath' => ['description' => 'The path to the HostPath volume on the host.'."\n", 'type' => 'string', 'example' => '/pod/data'],
],
],
],
'ImageRegistryCredentials' => [
'description' => 'The information about the image repository.'."\n",
'type' => 'array',
'items' => [
'description' => 'The information about the image repository.'."\n",
'type' => 'object',
'properties' => [
'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'example' => 'yourpaasword'],
'Server' => ['description' => 'The domain name of the image repository.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'],
'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'example' => 'yourusername '."\n"],
],
],
],
'DnsConfigOptions' => [
'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'array',
'items' => [
'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'example' => 'name'],
'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'example' => 'value'],
],
],
],
'HostAliases' => [
'description' => 'The hostnames and IP addresses for a container that are added to the hosts file of the elastic container instance.'."\n",
'type' => 'array',
'items' => [
'description' => 'The hostname aliases of a container.'."\n",
'type' => 'object',
'properties' => [
'Ip' => ['description' => 'The added IP address.'."\n", 'type' => 'string', 'example' => '192.0.XX.XX'],
'Hostnames' => [
'description' => 'The added hostnames.'."\n",
'type' => 'array',
'items' => ['description' => 'The added hostname.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'],
],
],
],
],
'SecurityContextSysCtls' => [
'description' => 'The system information of the security context in which the elastic container instance runs.'."\n",
'type' => 'array',
'items' => [
'description' => 'The system information of the security context in which the elastic container instance runs.'."\n",
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The system name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => 'kernel.msgmax'],
'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => '65536'],
],
],
],
'AcrRegistryInfos' => [
'description' => 'The Container Registry Enterprise Edition instances.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n",
'type' => 'object',
'properties' => [
'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****'],
'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'acr-test'],
'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'],
'Domains' => [
'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n",
'type' => 'array',
'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'],
],
],
],
],
'DnsConfigNameServers' => [
'description' => 'The IP addresses of the Domain Name Service (DNS) server.'."\n",
'type' => 'array',
'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'example' => '172.10.*.**'],
],
'DnsConfigSearches' => [
'description' => 'The search domains of the DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The search domains of the DNS server.'."\n", 'type' => 'string', 'example' => 'svc.local.kubenetes'],
],
'NtpServers' => [
'description' => 'The endpoints of the Network Time Protocol (NTP) server.'."\n",
'type' => 'array',
'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com'],
],
'LifecycleState' => ['description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n"
."\n"
.'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the scaling configuration that is in the Active state to create instances during scale-out events.'."\n"
.'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create instances during scale-out events.'."\n", 'type' => 'string', 'example' => 'Active'],
'CostOptimization' => ['description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false'],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family, which is used to filter the available instance types that meet the specified requirements. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n"
."\n"
.'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n"
.'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n"
.'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'],
'InstanceTypes' => [
'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n",
'type' => 'array',
'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'],
],
'DataCacheBucket' => ['description' => 'The bucket that stores the data cache.'."\n", 'type' => 'string', 'example' => 'default'],
'DataCachePL' => ['description' => 'The performance level (PL) of the cloud disk that stores the data cache. We recommend that you use enterprise SSDs (ESSDs). Valid values:'."\n"
."\n"
.'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n"
.'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n"
.'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n"
.'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'example' => 'PL1'],
'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that stores the data cache. Valid values: 0 to min{50,000, 1000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40000'],
'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that stores the data cache. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'example' => 'false'],
'GpuDriverVersion' => ['description' => 'The version of the GPU driver.'."\n", 'type' => 'string', 'example' => 'tesla=470.82.01'],
],
],
],
],
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''],
],
],
'title' => 'DescribeEciScalingConfigurations',
'summary' => 'Queries scaling configurations of the Elastic Container Instance type. When you call the DescribeEciScalingConfigurations operation, you can specify ScalingGroupId, ScalingConfigurationIds, or ScalingConfigurationNames to query details about the desired scaling configurations, such as the instance bidding policy, instance type, image pulling policy, and load balancing weight of each elastic container instance. This can help you select a suitable template for creating elastic container instances or reference existing scaling configurations before you modify the automatic scaling policy for elastic container instances.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeEciScalingConfigurations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": true,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\\\t\\\\n\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeElasticStrength' => [
'summary' => 'A scaling group\'s configuration is key to successful scale-outs. Auto Scaling uses elasticity strength to quantify the effectiveness of a Scaling Configuration, helping you make targeted optimizations.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '221692',
'abilityTreeNodes' => ['FEATUREess7569XW'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of ECS instance types. If specified, this parameter overrides the instance types in the scaling configuration.',
'type' => 'array',
'items' => ['description' => 'The ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
[
'name' => 'PriorityStrategy',
'in' => 'query',
'schema' => ['description' => '>This parameter is deprecated. Use `SpotStrategy` instead.>'."\n"
.'The spot strategy for pay-as-you-go instances. If specified, this parameter overrides the spot strategy in the scaling configuration. Valid values:'."\n"
."\n"
.'- `NoSpot`: A regular pay-as-you-go instance.'."\n"
."\n"
.'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n"
."\n"
.'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n"
."\n"
.'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''],
],
[
'name' => 'SystemDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of system disk categories. If specified, this parameter overrides the system disk categories in the scaling configuration. Valid values:'."\n"
."\n"
.'- `cloud`: Basic Cloud Disk.'."\n"
."\n"
.'- `cloud_efficiency`: Ultra Cloud Disk.'."\n"
."\n"
.'- `cloud_ssd`: Standard SSD.'."\n"
."\n"
.'- `cloud_essd`: ESSD.'."\n"
."\n"
.'> This parameter is required if `ScalingGroupId` is not specified.',
'type' => 'array',
'items' => ['description' => 'The category of the system disk. Valid values:'."\n"
."\n"
.'- `cloud`: Basic Cloud Disk.'."\n"
."\n"
.'- `cloud_efficiency`: Ultra Cloud Disk.'."\n"
."\n"
.'- `cloud_ssd`: Standard SSD.'."\n"
."\n"
.'- `cloud_essd`: ESSD.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
[
'name' => 'ScalingGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of one or more scaling groups to query in a batch operation.',
'type' => 'array',
'items' => ['description' => 'The ID of a scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The spot strategy for instances. Valid values:'."\n"
."\n"
.'- `NoSpot`: A regular pay-as-you-go instance.'."\n"
."\n"
.'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n"
."\n"
.'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n"
."\n"
.'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of VSwitch IDs.'."\n"
."\n"
.'> This parameter is required if `ScalingGroupId` is not specified.',
'type' => 'array',
'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'ImageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image used to create instances.'."\n"
."\n"
.'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''],
],
[
'name' => 'ImageName',
'in' => 'query',
'schema' => ['description' => 'The name of the image. The name must be unique within a region. If you specify `ImageId`, this parameter is ignored.'."\n"
."\n"
.'You cannot use this parameter to specify a Marketplace image.'."\n"
."\n"
.'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'ubuntu_18_04_x64_20G_alibase_20231225.vhd', 'title' => ''],
],
[
'name' => 'ImageFamily',
'in' => 'query',
'schema' => ['description' => 'The name of the image family. You can set this parameter to use the latest available image from the specified image family to create instances. If you specify ImageId, this parameter is ignored.'."\n"
."\n"
.'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'CentOS7', 'title' => ''],
],
[
'name' => 'DataDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of data disk categories used to evaluate elastic strength. If a category is incompatible, the response identifies the specific mismatched category.'."\n"
."\n"
.'> You can specify this parameter if `ScalingGroupId` is not specified.',
'type' => 'array',
'items' => ['description' => 'The category of the data disk. Valid values:'."\n"
."\n"
.'- `cloud`: Basic Cloud Disk'."\n"
."\n"
.'- `cloud_efficiency`: Ultra Cloud Disk'."\n"
."\n"
.'- `cloud_ssd`: Standard SSD'."\n"
."\n"
.'- `cloud_essd`: ESSD'."\n"
."\n"
.'- `ephemeral_ssd`: local SSD', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of IPv6 addresses to be configured for each instance. The elastic strength is lowered for instance types that do not support the specified number of IPv6 addresses.'."\n"
."\n"
.'> You can specify this parameter if `ScalingGroupId` is not specified.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'The response schema.',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''],
'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n"
."\n"
.'- Strong: high elastic strength.'."\n"
."\n"
.'- Medium: medium elastic strength.'."\n"
."\n"
.'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''],
'ResourcePools' => [
'description' => 'An array of resource pools. This parameter is returned when the API call targets a single scaling group.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Strength' => ['description' => 'The elastic strength of the resource pool.', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''],
'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.c7t.xlarge', 'title' => ''],
'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''],
'VSwitchIds' => [
'description' => 'The VSwitches in the zone of the resource pool.',
'type' => 'array',
'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze0uc933kantv******', 'title' => ''],
'title' => '',
'example' => '',
],
'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'IMG_NOT_SUPPORTED', 'title' => ''],
'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceType does not support the image in the configuration.', 'title' => ''],
'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n"
."\n"
.'- Available: The resource pool is available.'."\n"
."\n"
.'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
'InventoryHealth' => [
'description' => 'The inventory health.',
'type' => 'object',
'properties' => [
'HealthScore' => ['description' => 'The health score.'."\n"
."\n"
.'- A score from 5 to 6 indicates high confidence in supply.'."\n"
."\n"
.'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n"
."\n"
.'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n"
."\n"
.'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'AdequacyScore' => ['description' => 'The adequacy score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'SupplyScore' => ['description' => 'The supply score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'HotScore' => ['description' => 'The hot score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
],
'title' => '',
'example' => '',
],
'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n"
."\n"
.'- Strong: high elastic strength.'."\n"
."\n"
.'- Medium: medium elastic strength.'."\n"
."\n"
.'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Medium', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'ElasticStrengthModels' => [
'description' => 'An array of elastic strength details, returned when the API call targets multiple scaling groups.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-wz98mnj7nblv9gc****', 'title' => ''],
'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n"
."\n"
.'- Strong: high elastic strength.'."\n"
."\n"
.'- Medium: medium elastic strength.'."\n"
."\n"
.'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''],
'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''],
'ResourcePools' => [
'description' => 'Details of the resource pools within the scaling group.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.r7.large', 'title' => ''],
'Strength' => ['description' => 'The elastic strength of the resource pool.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''],
'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''],
'VSwitchIds' => [
'description' => 'The VSwitches in the zone of the resource pool.',
'type' => 'array',
'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze6e8p4******', 'title' => ''],
'title' => '',
'example' => '',
],
'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''],
'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''],
'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n"
."\n"
.'- Available: The resource pool is available.'."\n"
."\n"
.'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
'InventoryHealth' => [
'description' => 'The inventory health.',
'type' => 'object',
'properties' => [
'HealthScore' => ['description' => 'The health score.'."\n"
."\n"
.'- A score from 5 to 6 indicates high confidence in supply.'."\n"
."\n"
.'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n"
."\n"
.'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n"
."\n"
.'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'AdequacyScore' => ['description' => 'The adequacy score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'SupplyScore' => ['description' => 'The supply score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'HotScore' => ['description' => 'The hot score.'."\n"
."\n"
.'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
],
'title' => '',
'example' => '',
],
'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n"
."\n"
.'- Strong: high elastic strength.'."\n"
."\n"
.'- Medium: medium elastic strength.'."\n"
."\n"
.'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"IMG_NOT_SUPPORTED\\",\\n \\"Msg\\": \\"The instanceType does not support the image in the configuration.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n },\\n \\"ElasticStrength\\": \\"Medium\\"\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n },\\n \\"ElasticStrength\\": \\"Strong\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribeElasticStrength',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeElasticStrength',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeInstanceCreateAndDeleteStatistics' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221449',
'abilityTreeNodes' => ['FEATUREessJ54CHK'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-2ze4057nqfbxxxxxxxx', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z'."\n", 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', 'title' => ''],
'InstanceCreateAndDeleteStatistics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Statistic' => [
'description' => 'Metrics for instance creation and deletion.'."\n",
'type' => 'array',
'items' => [
'description' => 'Metrics for instance creation and deletion.'."\n",
'type' => 'object',
'properties' => [
'DestroyedVmCount' => ['description' => 'The number of released instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''],
'CreatedVmCount' => ['description' => 'The number of new instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''],
'StoppedVmCount' => ['description' => 'The number of instances that are stopped in economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'StartedVmCount' => ['description' => 'The number of instances that are started from economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'DescribeInstanceCreateAndDeleteStatistics',
'summary' => 'Instance creation and deletion statistics.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\",\\n \\"InstanceCreateAndDeleteStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"DestroyedVmCount\\": 34,\\n \\"CreatedVmCount\\": 12,\\n \\"Time\\": \\"2025121623\\",\\n \\"StoppedVmCount\\": 10,\\n \\"StartedVmCount\\": 5\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeInstanceRefreshes' => [
'summary' => 'Queries instance refresh tasks in a scaling group, including basic information and progress of the tasks.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '234886',
'abilityTreeNodes' => ['FEATUREessACRSW1'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token. Set this parameter to the NextToken value returned in the previous call. You do not need to set this parameter for the first request.', 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of entries per page in a paging query. Valid values: 1 to 50.'."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n"
.'> You must specify either ScalingGroupId or InstanceRefreshTaskIds. If you do not specify either parameter, an error is returned.'."\n"
.'>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''],
],
[
'name' => 'InstanceRefreshTaskIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the instance refresh tasks that you want to query.',
'type' => 'array',
'items' => ['description' => 'The IDs of the instance refresh tasks that you want to query.', 'type' => 'string', 'required' => false, 'example' => 'ir-adfa12312*****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'NextToken' => ['description' => 'The pagination token for the next query. If NextToken is empty, no more results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f****', 'title' => ''],
'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'TotalCount' => ['description' => 'The total number of instance refresh tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'InstanceRefreshTasks' => [
'description' => 'The list of instance refresh tasks.',
'type' => 'array',
'items' => [
'description' => 'The instance refresh task.',
'type' => 'object',
'properties' => [
'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp16pbfcr8j9*****', 'title' => ''],
'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-1adfa123****', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'EndTime' => ['description' => 'The end time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T02:09:00Z', 'title' => ''],
'StartTime' => ['description' => 'The start time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T01:09:00Z', 'title' => ''],
'Status' => ['description' => 'The current status of the instance refresh task. Valid values:'."\n"
.'- Pending: The instance refresh task is created and waiting to be scheduled.'."\n"
.'- InProgress: The instance refresh task is in progress.'."\n"
.'- Paused: The instance refresh task is paused.'."\n"
.'- CheckpointPause: The instance refresh task is paused because the task progress reached a checkpoint (`Checkpoint.Percentage`).'."\n"
.'- Failed: The instance refresh task failed.'."\n"
.'- Successful: The instance refresh task succeeded.'."\n"
.'- Cancelling: The instance refresh task is being cancelled.'."\n"
.'- Cancelled: The instance refresh task is cancelled.'."\n"
.'- RollbackInProgress: The instance refresh task is being rolled back.'."\n"
.'- RollbackSuccessful: The instance refresh task is rolled back.'."\n"
.'- RollbackFailed: The rollback of the instance refresh task failed.', 'type' => 'string', 'example' => 'InProgress', 'title' => ''],
'Detail' => ['description' => 'The failure reason when the instance refresh task fails.', 'type' => 'string', 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', 'title' => ''],
'MinHealthyPercentage' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
'MaxHealthyPercentage' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '120', 'title' => ''],
'DesiredConfiguration' => [
'description' => 'The desired configuration for the instance refresh.',
'type' => 'object',
'properties' => [
'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'm-uf6g5noisr****', 'title' => ''],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-wz91ibkhfor****', 'title' => ''],
'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'example' => 'lt-2ze5x4mp*****', 'title' => ''],
'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n"
."\n"
.'- A fixed template version number.'."\n"
.'- Default: always uses the default version of the template.'."\n"
.'- Latest: always uses the latest version of the template.', 'type' => 'string', 'example' => 'Latest', 'title' => ''],
'LaunchTemplateOverrides' => [
'description' => 'The instance type information that overrides the launch template.',
'type' => 'array',
'items' => [
'description' => 'The instance type information that overrides the launch template.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'example' => 'ecs.sn1ne.large', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Containers' => [
'description' => 'The list of containers in the instance.',
'type' => 'array',
'items' => [
'description' => 'The list of containers in the instance.',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'name', 'title' => ''],
'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''],
'Commands' => [
'description' => 'The container startup commands.',
'type' => 'array',
'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'example' => 'sleep', 'title' => ''],
'title' => '',
'example' => '',
],
'Args' => [
'description' => 'The arguments for the container startup commands.',
'type' => 'array',
'items' => ['description' => 'The arguments for the container startup commands.', 'type' => 'string', 'example' => '100', 'title' => ''],
'title' => '',
'example' => '',
],
'EnvironmentVars' => [
'description' => 'The environment variable information.',
'type' => 'array',
'items' => [
'description' => 'The environment variable information.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''],
'FieldRefFieldPath' => ['description' => '>This parameter is not available for use.', 'type' => 'string', 'example' => 'fieldPath', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'FinishedUpdateCapacity' => ['description' => 'The capacity that has been refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'TotalNeedUpdateCapacity' => ['description' => 'The total capacity that needs to be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'SkipMatching' => ['description' => 'Indicates whether instances that already match the desired configuration are skipped.'."\n"
."\n"
.'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Skipped. When the instance refresh task starts, the system checks the configuration of each instance. Instances that were already created with the desired configuration are not refreshed.'."\n"
.'- false: Not skipped. After the instance refresh task starts, all instances in the scaling group are refreshed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'CheckpointPauseTime' => ['description' => 'The pause duration when the task reaches a checkpoint. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'Checkpoints' => [
'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.',
'type' => 'array',
'items' => [
'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.',
'type' => 'object',
'properties' => [
'Percentage' => ['description' => 'The percentage of new instances relative to the total instances in the scaling group. The task automatically pauses when this percentage is reached.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Strategy' => ['description' => 'The execution strategy of the instance refresh task. Valid values:'."\n"
."\n"
.'- Rolling: The instance refresh task creates new instances and releases old instances to perform the refresh.'."\n"
."\n"
.'- ReplaceSystemDisk: The instance refresh task replaces the system cloud disk on existing instances.', 'type' => 'string', 'example' => 'Rolling', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ],\\n \\"Strategy\\": \\"Rolling\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => 'Query instance refresh tasks',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeInstanceRefreshes',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeLifecycleActions' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125398',
'abilityTreeNodes' => ['FEATUREess54US0Q'],
],
'parameters' => [
[
'name' => 'ScalingActivityId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asa-bp17mug9t0pegagw****'],
],
[
'name' => 'LifecycleActionStatus',
'in' => 'query',
'schema' => ['description' => 'The status of the lifecycle action. Valid values:'."\n"
."\n"
.'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n"
.'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n"
.'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Pending'],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n"
."\n"
.'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AAAAAcSz4VTb1Nq****'],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The query token returned in this call.'."\n", 'type' => 'string', 'example' => 'AAAAAcSz4VTb1Nq****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3'],
'TotalCount' => ['description' => 'The total number of the queried lifecycle actions.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'MaxResults' => ['description' => 'The maximum number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'LifecycleActions' => [
'description' => 'The actions of the lifecycle hook.'."\n",
'type' => 'array',
'items' => [
'description' => 'The lifecycle actions.'."\n",
'type' => 'object',
'properties' => [
'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp18uoft0deax0f7****'],
'LifecycleActionToken' => ['description' => 'The token of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB'],
'LifecycleActionStatus' => ['description' => 'The status of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => 'Pending'],
'LifecycleActionResult' => ['description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n"
."\n"
.'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n"
.'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n", 'type' => 'string', 'example' => 'CONTINUE'],
'InstanceIds' => [
'description' => 'The IDs of the ECS instances on which the lifecycle hook takes effect'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ECS instance on which the lifecycle hook takes effect'."\n", 'type' => 'string', 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]'],
],
],
],
],
],
'description' => '',
],
],
],
'title' => 'DescribeLifecycleActions',
'summary' => 'Queries lifecycle hook actions. When you call the DescribeLifecycleActions operation, you can specify parameters such as ScalingActivityId, NextToken, and MaxResults to query the details such as the action status and ID of a lifecycle hook. You can also call this operation to query the IDs of Elastic Compute Service (ECS) instances on which the lifecycle hook takes effect.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLifecycleActions',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444F7BB\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeLifecycleHooks' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125347',
'abilityTreeNodes' => ['FEATUREess54US0Q'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****'],
],
[
'name' => 'LifecycleHookName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'],
],
[
'name' => 'LifecycleHookIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the lifecycle hooks that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the lifecycle hook that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp1at9ufhmcf9cmy****'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'TotalCount' => ['description' => 'The total number of lifecycle hooks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'LifecycleHooks' => [
'description' => 'Details about the lifecycle hooks.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details about the lifecycle hook.'."\n",
'type' => 'object',
'properties' => [
'DefaultResult' => ['description' => 'The next action that is performed after the lifecycle hook times out.'."\n", 'type' => 'string', 'example' => 'CONTINUE'],
'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp19d1032y9kij96****'],
'LifecycleHookName' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'lifecyclehook****'],
'LifecycleTransition' => ['description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", 'type' => 'string', 'example' => 'SCALE_OUT'],
'NotificationMetadata' => ['description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.'."\n", 'type' => 'string', 'example' => 'Test Lifecycle Hook.'],
'NotificationArn' => ['description' => 'The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter must be in one of the following formats:'."\n"
."\n"
.'* If you do not create a notification rule, specify the value in the `acs:ess:{region-id}:{account-id}:null/null` format.'."\n"
.'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n"
.'* If you specify an SMQ as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n"
.'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n"
.'* If you specify an event bus as the notification recipient, specify the value in the `acs:eventbridge:{region-id}:{account-id}:eventbus/default` format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of your scaling group.'."\n"
.'* account-id: the ID of your Alibaba Cloud account.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n"
.'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'example' => 'acs:ess:cn-beijing:161456884340****:null/null'],
'HeartbeatTimeout' => ['description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****'],
'LifecycleHookStatus' => ['description' => 'The status of the lifecycle hook. Valid values:'."\n"
."\n"
.'* Active: The lifecycle hook is enabled.'."\n"
.'* InActive: The lifecycle hook is disabled.'."\n", 'type' => 'string', 'example' => 'Active'],
],
],
],
],
],
],
],
'title' => 'DescribeLifecycleHooks',
'summary' => 'Queries lifecycle hooks. When you call this operation, you can specify the lifecycle hook ID or scaling group ID to query the details of the desired lifecycle hook, such as the default action after the lifecycle hook times out, scaling activity that corresponds to the lifecycle hook, Alibaba Cloud Resource Name (ARN) of the notification recipient, and effective period of the lifecycle hook.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLifecycleHooks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeLimitation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREessZ1KWHS'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'MaxNumberOfScheduledTasks' => ['description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''],
'MaxNumberOfLoadBalancers' => ['description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'MaxNumberOfMaxSize' => ['description' => 'The maximum number of instances that can be contained in a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''],
'MaxNumberOfAlbServerGroup' => ['description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be attached to a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'MaxNumberOfNlbServerGroup' => ['description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be attached to a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'MaxNumberOfDBInstances' => ['description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'MaxNumberOfScalingConfigurations' => ['description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''],
'MaxNumberOfMinSize' => ['description' => 'The minimum number of instances that must be contained in a scaling group. The value of `MaxNumberOfMinSize` must be consistent with the value of `MaxNumberOfMaxSize`.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''],
'MaxNumberOfLifecycleHooks' => ['description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'MaxNumberOfScalingInstances' => ['description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be automatically scaled in a scaling group at the same time.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''],
'MaxNumberOfScalingGroups' => ['description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', 'title' => ''],
'MaxNumberOfNotificationConfigurations' => ['description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''],
'MaxNumberOfVServerGroups' => ['description' => 'The maximum number of CLB vServer groups that can be attached to a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'MaxNumberOfScalingRules' => ['description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n"
."\n"
.'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]',
'title' => 'DescribeLimitation',
'summary' => 'Queries resource quotas. For example, you can call the DescribeLimitation operation to query the maximum numbers of scheduled tasks that you can create in a scaling group, load balancers that you can attach to a scaling group, instances that you can add to a scaling group, and scaling configurations that you can create in a scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLimitation',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'operationType' => 'read',
],
'DescribeNotificationConfigurations' => [
'summary' => 'Queries notification settings. You can call the DescribeNotificationConfiguration operation to query notification settings of scaling events or resource changes, including the notification types and methods.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125360',
'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'NotificationConfigurationModels' => [
'description' => 'The notification settings.'."\n",
'type' => 'array',
'items' => [
'description' => 'The notification setting.'."\n",
'type' => 'object',
'properties' => [
'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The value is in one of the following formats:'."\n"
."\n"
.'* If you specify CloudMonitor as the notification recipient, the value is in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n"
.'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n"
.'* If you specify an SMQ topic as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of your scaling group.'."\n"
.'* account-id: the ID of your Alibaba Cloud account.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
'NotificationTypes' => [
'description' => 'The types of the notifications.'."\n",
'type' => 'array',
'items' => ['description' => 'The types of the notifications.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', 'title' => ''],
'title' => '',
'example' => '',
],
'TimeZone' => ['description' => 'The time zone of the notification. The value must be in UTC. For example, a value of UTC+8 indicates that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 indicates that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'example' => 'UTC+8', 'title' => ''],
'MessageEncoding' => ['description' => 'The codec of the notification message content.', 'type' => 'string', 'example' => 'PlainText', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationConfigurationModels\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ],\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribeNotificationConfigurations',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeNotificationConfigurations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeNotificationTypes' => [
'summary' => 'Queries notification types. You can call the DescribeNotificationTypes operation to query the types of notifications on scaling events or resource changes occurred in your scaling groups. Notifications are triggered in scenarios such as successful scale-out events, successful scale-in events, expiration of scheduled tasks, and partially successful scale-out events.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125339',
'abilityTreeNodes' => ['FEATUREessFY8KDA'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'NotificationTypes' => [
'description' => 'The types of the notifications.'."\n"
."\n"
.'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n"
.'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n"
.'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n"
.'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n"
.'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n"
.'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n"
.'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n"
.'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n",
'type' => 'array',
'items' => ['description' => 'The types of the notifications.'."\n"
."\n"
.'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n"
.'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n"
.'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n"
.'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n"
.'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n"
.'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n"
.'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n"
.'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n}","type":"json"}]',
'title' => 'DescribeNotificationTypes',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeNotificationTypes',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribePatternTypes' => [
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'abilityTreeCode' => '221452',
'abilityTreeNodes' => ['FEATUREessWJGIW5'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the vSwitches.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'ZoneId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The zone IDs. If you pass vSwitch IDs to the system, this parameter does not take effect.'."\n",
'type' => 'array',
'items' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The preemption policy that you want to apply to pay-as-you-go instances. Valid values:'."\n"
."\n"
.'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n"
.'* SpotWithPriceLimit: The instances are created as preemptible instances that have a user-defined maximum hourly price.'."\n"
.'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n"
."\n"
.'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot'],
],
[
'name' => 'Cores',
'in' => 'query',
'schema' => ['description' => 'The number of vCPUs that you want to assign to the instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
[
'name' => 'Memory',
'in' => 'query',
'schema' => ['description' => 'The memory size that you want to assign to the instance type. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'],
],
[
'name' => 'MaxPrice',
'in' => 'query',
'schema' => ['description' => 'The maximum hourly price for pay-as-you-go or preemptible instances.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2'],
],
[
'name' => 'InstanceFamilyLevel',
'in' => 'query',
'schema' => ['description' => 'The level of the instance family. Valid values:'."\n"
."\n"
.'* EntryLevel: entry level'."\n"
.'* EnterpriseLevel: enterprise level'."\n"
.'* CreditEntryLevel: credit-based entry level For more information, see [Burstable instance families](~~59977~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel'],
],
[
'name' => 'ExcludedInstanceType',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance types that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n"
."\n"
.'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'* ecs.c6.\\*: excludes the c6 instance family.'."\n"
."\n"
.'> If you want to exclude multiple instance types, separate the instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n",
'type' => 'array',
'items' => ['description' => 'The instance type that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n"
."\n"
.'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'* ecs.c6.\\*: excludes the c6 instance family.'."\n"
."\n"
.'> If you want to exclude multiple instance types, separate the instance types with delimiters (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.xlarge'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'Architecture',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The architecture types of the instance types. Valid values:'."\n"
."\n"
.'* X86: x86 architecture.'."\n"
.'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n"
.'* BareMetal: ECS Bare Metal Instance.'."\n"
.'* Arm: Arm.'."\n"
."\n"
.'By default, all values are selected.'."\n",
'type' => 'array',
'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n"
."\n"
.'* X86: x86 architecture.'."\n"
.'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n"
.'* BareMetal: ECS Bare Metal Instance.'."\n"
.'* Arm: Arm.'."\n"
."\n"
.'By default, all values are selected.'."\n", 'type' => 'string', 'required' => false, 'example' => 'X86'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'BurstablePerformance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n"
."\n"
.'* Exclude: does not include burstable instance types.'."\n"
.'* Include: includes burstable instance types.'."\n"
.'* Required: includes only burstable instance types.'."\n"
."\n"
.'Default value: Include.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Include'],
],
[
'name' => 'CoresList',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n",
'type' => 'array',
'items' => ['description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'MemoryList',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n",
'type' => 'array',
'items' => ['description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'ChannelId',
'in' => 'query',
'schema' => ['description' => 'The channel ID. This parameter is not for public use.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '79425074'],
],
[
'name' => 'InstanceTypeFamilies',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance families that you want to query. You can query 1 to 10 instance families in each call.'."\n",
'type' => 'array',
'items' => ['description' => 'The instance family that you want to query. You can query 1 to 10 instance families in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'MinimumCpuCoreCount',
'in' => 'query',
'schema' => ['description' => 'The minimum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
[
'name' => 'MaximumCpuCoreCount',
'in' => 'query',
'schema' => ['description' => 'The maximum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'],
],
[
'name' => 'GpuSpecs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The GPU models.'."\n",
'type' => 'array',
'items' => ['description' => 'The GPU model.'."\n", 'type' => 'string', 'required' => false, 'example' => '["NVIDIA V100"]'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'InstanceCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The classifications of the instance types. Valid values:'."\n"
."\n"
.'* General-purpose: general-purpose instance type.'."\n"
.'* Compute-optimized: compute-optimized instance type.'."\n"
.'* Memory-optimized: memory-optimized instance type.'."\n"
.'* Big data: big data instance type.'."\n"
.'* Local SSDs: instance type with local SSDs.'."\n"
.'* High Clock Speed: instance type with high clock speeds.'."\n"
.'* Enhanced: enhanced instance type.'."\n"
.'* Shared: shared instance type.'."\n"
.'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n"
.'* Visual Compute-optimized: visual compute-optimized instance type.'."\n"
.'* Heterogeneous Service: heterogeneous service instance type.'."\n"
.'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n"
.'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n"
.'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n"
.'* High Performance Compute: HPC-optimized instance type.'."\n",
'type' => 'array',
'items' => ['description' => 'The classification of the instance type. Valid values:'."\n"
."\n"
.'* General-purpose: general-purpose instance type.'."\n"
.'* Compute-optimized: compute-optimized instance type.'."\n"
.'* Memory-optimized: memory-optimized instance type.'."\n"
.'* Big data: big data instance type.'."\n"
.'* Local SSDs: instance type with local SSDs.'."\n"
.'* High Clock Speed: instance type with high clock speeds.'."\n"
.'* Enhanced: enhanced instance type.'."\n"
.'* Shared: shared instance type.'."\n"
.'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n"
.'* Visual Compute-optimized: visual compute-optimized instance type.'."\n"
.'* Heterogeneous Service: heterogeneous service instance type.'."\n"
.'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n"
.'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n"
.'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n"
.'* High Performance Compute: HPC-optimized instance type.'."\n", 'type' => 'string', 'required' => false, 'example' => '["Compute-optimized with GPU"]'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'CpuArchitectures',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The CPU architectures of the instance types. Valid values:'."\n"
."\n"
.'> You can specify 1 to 2 CPU architectures.'."\n"
."\n"
.'* x86'."\n"
.'* Arm'."\n",
'type' => 'array',
'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n"
."\n"
.'> You can specify 1 to 2 CPU architectures.'."\n"
."\n"
.'* x86'."\n"
.'* Arm'."\n", 'type' => 'string', 'required' => false, 'example' => '["X86", "ARM"]'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'PhysicalProcessorModels',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The processor models of the instance types. You can specify 1 to 10 processor models.'."\n",
'type' => 'array',
'items' => ['description' => 'The processor model of the instance type. You can specify 1 to 10 processor models.'."\n", 'type' => 'string', 'required' => false, 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'MinimumEniQuantity',
'in' => 'query',
'schema' => ['description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
[
'name' => 'MinimumEniPrivateIpAddressQuantity',
'in' => 'query',
'schema' => ['description' => 'The minimum number of IPv4 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
[
'name' => 'MinimumEniIpv6AddressQuantity',
'in' => 'query',
'schema' => ['description' => 'The minimum number of IPv6 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'MinimumInitialCredit',
'in' => 'query',
'schema' => ['description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'],
],
[
'name' => 'MinimumBaselineCredit',
'in' => 'query',
'schema' => ['description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'],
],
[
'name' => 'MinimumMemorySize',
'in' => 'query',
'schema' => ['description' => 'The minimum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'],
],
[
'name' => 'MaximumMemorySize',
'in' => 'query',
'schema' => ['description' => 'The maximum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'],
],
[
'name' => 'MinimumGpuAmount',
'in' => 'query',
'schema' => ['description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
[
'name' => 'MaximumGpuAmount',
'in' => 'query',
'schema' => ['description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'PatternTypes' => [
'description' => 'The instance types that meet the specified requirements.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The name of the instance type.'."\n", 'type' => 'string', 'example' => 'ecs.c7.xlarge'],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n"
."\n"
.'* EntryLevel: entry level (shared instance types) Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n"
.'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n"
.'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'],
'InstanceTypeFamily' => ['description' => 'The instance family.'."\n", 'type' => 'string', 'example' => 'ecs.c7'],
'Cores' => ['description' => 'The number of vCPUs that are assigned to the instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4'],
'Memory' => ['description' => 'The memory size that are assigned to the instance type. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '8'],
],
],
],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PatternTypes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.xlarge\\",\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypeFamily\\": \\"ecs.c7\\",\\n \\"Cores\\": 4,\\n \\"Memory\\": 8\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribePatternTypes',
'summary' => 'Queries instance types. When you call the DescribePatternTypes operation, you can specify attributes such as the vSwitch ID, number of vCPUs, memory size, instance family, and maximum acceptable price to filer instance types that meet your business requirements.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'ess:DescribePatternTypes',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeRegions' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125375',
'abilityTreeNodes' => ['FEATUREessZ1KWHS'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AcceptLanguage',
'in' => 'query',
'schema' => ['description' => 'The language for the response. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n"
."\n"
.'* zh-CN: Chinese'."\n"
.'* en-US: English'."\n"
.'* ja: Japanese'."\n"
."\n"
.'Default value: zh-CN.'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'Regions' => [
'description' => 'The collection of region information.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the regions.'."\n",
'type' => 'object',
'properties' => [
'ClassicUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in the classic network. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'RegionEndpoint' => ['description' => 'The region endpoint.'."\n", 'type' => 'string', 'example' => 'ess.aliyuncs.com', 'title' => ''],
'LocalName' => ['description' => 'The region name.'."\n", 'type' => 'string', 'example' => '华北2(北京)', 'title' => ''],
'VpcUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in virtual private clouds (VPCs). Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2(北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribeRegions',
'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched. This preliminary step facilitates the strategic selection of both the optimal region and availability zones for activating Auto Scaling, thereby guaranteeing the finest access speeds and operational efficiency within your chosen geographical area.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeScalingActivities' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125358',
'abilityTreeNodes' => ['FEATUREessACRSW1'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scaling activity that you want to query belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1', 'default' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'example' => '10', 'default' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n"
."\n"
.'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'StatusCode',
'in' => 'query',
'schema' => ['description' => 'The status of the scaling activity. Valid values:'."\n"
."\n"
.'* Successful: The scaling activity is successful.'."\n"
.'* Warning: The scaling activity is partially successful.'."\n"
.'* Failed: The scaling activity failed.'."\n"
.'* InProgress: The scaling activity is in progress.'."\n"
.'* Rejected: The request to trigger the scaling activity is rejected.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Successful'],
],
[
'name' => 'ScalingActivityIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scaling activities that you want to query.'."\n"
."\n"
.'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the scaling activity that you want to query.'."\n"
."\n"
.'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asa-bp161xudmuxdzofe****'],
'required' => false,
'maxItems' => 20,
],
],
[
'name' => 'InstanceRefreshTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F2A46'],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'TotalCount' => ['description' => 'The total number of scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScalingActivities' => [
'description' => 'The scaling activities.'."\n",
'type' => 'array',
'items' => [
'description' => 'The scaling activity.'."\n",
'type' => 'object',
'properties' => [
'Progress' => ['description' => 'The execution progress of the scaling activity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
'ScalingInstanceNumber' => ['description' => '* If you query a scale-out activity, the value of this parameter indicates the number of instances that are created or the number of instances that are started from Economical Mode.'."\n"
.'* If you query a scale-in activity, the value of this parameter indicates the number of instances that are deleted or the number of instances that are stopped in Economical Mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'AttachedCapacity' => ['description' => 'The total number of instances that are manually added to the scaling group after the scaling activity is complete.'."\n", 'type' => 'string', 'example' => '0'],
'TotalCapacity' => ['description' => 'The total number of instances in the scaling group after the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'],
'AutoCreatedCapacity' => ['description' => 'The total number of instances that are created by Auto Scaling after the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2'],
'EndTime' => ['description' => 'The time when the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2020-09-10T09:54Z'],
'StartTime' => ['description' => 'The time when the scaling activity was started.'."\n", 'type' => 'string', 'example' => '2020-09-10T09:54Z'],
'Description' => ['description' => 'The description of the scaling activity.'."\n", 'type' => 'string', 'example' => 'Add \\"1\\" ECS instance'],
'StatusCode' => ['description' => 'The status of the scaling activity. Valid values:'."\n"
."\n"
.'* Successful: The scaling activity is successful.'."\n"
.'* Warning: The scaling activity is partially successful.'."\n"
.'* Failed: The scaling activity failed.'."\n"
.'* InProgress: The scaling activity is in progress.'."\n"
.'* Rejected: The request to trigger the scaling activity is rejected.'."\n", 'type' => 'string', 'example' => 'Successful'],
'Cause' => ['description' => 'The reason why the scaling activity was triggered.'."\n", 'type' => 'string', 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".'],
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp161xudmuxdzofe****'],
'StatusMessage' => ['description' => 'The status message of the scaling activity.'."\n", 'type' => 'string', 'example' => '\\"1\\" ECS instances are added'],
'CreatedCapacity' => ['description' => 'The number of instances that are created during the scale-out event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'DestroyedCapacity' => ['description' => 'The number of instances that are released during the scale-in event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'StartedCapacity' => ['description' => 'The number of instances that are started from the Economical Mode during the scale-out event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'StoppedCapacity' => ['description' => 'The number of instances that are stopped in the Economical Mode during the scale-in event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'CreatedInstances' => [
'description' => 'The instances that are created during the scale-out event.'."\n",
'type' => 'array',
'items' => ['description' => 'The instances that are created during the scale-out event.'."\n", 'type' => 'string', 'example' => '["i-abc1","i-abc2"]'],
],
'DestroyedInstances' => [
'description' => 'The instances that are released during the scale-in event.'."\n",
'type' => 'array',
'items' => ['description' => 'The instances that are released during the scale-in event.'."\n", 'type' => 'string', 'example' => '['."\n"
.' "i-abc1",'."\n"
.' "i-abc2"'."\n"
.']'],
],
'StartedInstances' => [
'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n",
'type' => 'array',
'items' => ['description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", 'type' => 'string', 'example' => '['."\n"
.' "i-abc1",'."\n"
.' "i-abc2"'."\n"
.']'],
],
'StoppedInstances' => [
'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n",
'type' => 'array',
'items' => ['description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", 'type' => 'string', 'example' => '['."\n"
.' "i-abc1",'."\n"
.' "i-abc2"'."\n"
.']'],
],
'ErrorCode' => ['description' => 'The error code that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'OperationDenied.NoStock'],
'ErrorMessage' => ['description' => 'The error message that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.'],
'Detail' => ['description' => 'Details of the scaling activity.'."\n", 'type' => 'string', 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."'],
'TriggerSourceType' => ['description' => 'The type of the trigger source of the scaling activity. Valid values:'."\n"
."\n"
.'* Cms: The scaling activity is triggered by an event-triggered task.'."\n"
.'* APIs: The scaling activity is triggered by calling an API operation.'."\n"
.'* Ess: The scaling activity is triggered by Auto Scaling.'."\n", 'type' => 'string', 'example' => 'Api'],
'TriggerSourceId' => ['description' => 'The ID of the trigger source of the scaling activity. Valid values:'."\n"
."\n"
.'* If the scaling activity is triggered by an event-triggered task, the ID of the trigger source is the ID of the event-triggered task.'."\n"
.'* If the scaling activity is triggered by calling an API operation, the ID of the trigger source is the ID of the Alibaba Cloud account or Resource Access Management (RAM) user that you use to call the API operation.'."\n"
.'* If the scaling activity is triggered by Auto Scaling, the ID of the trigger source is null.'."\n", 'type' => 'string', 'example' => '2346366580*****'],
'LifecycleHookContext' => [
'description' => 'The context of the lifecycle hook.'."\n",
'type' => 'object',
'properties' => [
'DisableLifecycleHook' => ['description' => 'Indicates whether all lifecycle hooks are disabled when the scaling activity is triggered. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false'],
'IgnoredLifecycleHookIds' => [
'description' => 'The IDs of the lifecycle hooks that are disabled.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the lifecycle hook that is disabled.'."\n", 'type' => 'string', 'example' => 'ash-bp14zolna43z266bq***'."\n"],
],
],
],
'ActivityMetadata' => ['description' => 'The metadata of the scaling activity.'."\n", 'type' => 'string', 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}'],
'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'example' => 'ir-asdf12adsxg*****'],
'ErrorMessages' => [
'description' => 'The error messages that are returned when the scaling activities failed or are partially successful.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Description' => ['description' => 'The description of the scaling activity exception.'."\n", 'type' => 'string', 'example' => 'Fail to create instances into scaling group.'],
'Code' => ['description' => 'The error code that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'OperationDenied.NoStock'],
'Message' => ['description' => 'The error message that is returned when the scaling activity failed or is partially successful.'."\n", 'type' => 'string', 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.'],
'FailedInstanceIds' => [
'description' => 'The IDs of the instances included in the failed scaling activities.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the instance included in the failed scaling activity.'."\n", 'type' => 'string', 'example' => 'i-8vbedazhjj6a6******'],
],
],
'description' => '',
],
],
],
],
],
],
'description' => '',
],
],
],
'title' => 'DescribeScalingActivities',
'summary' => 'Queries scaling activities. You can call the DescribeScalingActivities operation to query the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can query the status and cause of a scaling activity. You can also query the total number of instances after a scaling activity is complete.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivities',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F2A46\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": [\\n \\"[\\\\\\"i-abc1\\\\\\",\\\\\\"i-abc2\\\\\\"]\\"\\n ],\\n \\"DestroyedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StartedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StoppedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": [\\n \\"ash-bp14zolna43z266bq***\\\\n\\"\\n ]\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeScalingActivityDetail' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125351',
'abilityTreeNodes' => ['FEATUREessACRSW1'],
],
'parameters' => [
[
'name' => 'ScalingActivityId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling activity that you want to query. You can call the DescribeScalingActivities operation to query the IDs of scaling activities.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asa-bp1c9djwrgxjyk31****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D'],
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****'],
'Detail' => ['description' => 'The details of the scaling activity. The result of a scaling activity is either successful or failed. If the scaling activity is rejected, no scaling activity details are returned.'."\n", 'type' => 'string', 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.'],
],
'description' => '',
],
],
],
'title' => 'DescribeScalingActivityDetail',
'summary' => 'Queries the details of a scaling activity. You can query a scaling activity by its ID. The scaling activity details include the scaling activity status, error code, and error message. You can efficiently troubleshoot issues and analyze service performance based on the error message.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivityDetail',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","type":"json"}]',
],
'DescribeScalingActivityStatistics' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '221448',
'abilityTreeNodes' => ['FEATUREessL0GZCK'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-8vbje5pofxxxxxxxx', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The name of the metric on which the scaling activity is counted. Valid values:'."\n"
."\n"
.'* ScalingActivityStatus: collects statistics on the distribution of scaling activities in different states within a time range.'."\n"
.'* ScalingActivityErrorCodes: the distribution of error codes in failed scaling activities within a time range.'."\n"
."\n"
.'Default value: ScalingActivityStatus.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScalingActivityStatus', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => 'A8F44B4D-BAB4-5176-8705-5984xxxxx', 'title' => ''],
'ScalingActivityStatusStatistics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Statistic' => [
'description' => 'The statistical metrics of the scaling activity status.'."\n",
'type' => 'array',
'items' => [
'description' => 'The statistical metrics of the scaling activity status.'."\n",
'type' => 'object',
'properties' => [
'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''],
'SuccessActivityCount' => ['description' => 'The number of successful scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'FailedActivityCount' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'WarningActivityCount' => ['description' => 'The number of partially executed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'ScalingActivityErrorCodeStatistics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'ErrorStatistic' => [
'description' => 'The error message statistics of the scaling activity.'."\n",
'type' => 'array',
'items' => [
'description' => 'The error message statistics of the scaling activity.'."\n",
'type' => 'object',
'properties' => [
'ErrorCode' => ['description' => 'Scaling Activity Error Codes'."\n", 'type' => 'string', 'example' => 'QuotaExceeded.PrivateIpAddress', 'title' => ''],
'Count' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'DescribeScalingActivityStatistics',
'summary' => 'The distribution of scaling activities in different states over a period of time.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivityStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8F44B4D-BAB4-5176-8705-5984xxxxx\\",\\n \\"ScalingActivityStatusStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"Time\\": \\"2025121623\\",\\n \\"SuccessActivityCount\\": 10,\\n \\"FailedActivityCount\\": 1,\\n \\"WarningActivityCount\\": 2\\n }\\n ]\\n },\\n \\"ScalingActivityErrorCodeStatistics\\": {\\n \\"ErrorStatistic\\": [\\n {\\n \\"ErrorCode\\": \\"QuotaExceeded.PrivateIpAddress\\",\\n \\"Count\\": 4,\\n \\"Time\\": \\"2025121623\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeScalingConfigurations' => [
'summary' => 'Queries information about ECS-type scaling configurations, including instance types and images, so that you can learn about the ECS instance templates used for elastic scale-out in advance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '133422',
'abilityTreeNodes' => ['FEATUREessVYTHU5'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the scaling configuration list. Minimum value: 1.'."\n"
."\n"
.'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group. You can query all scaling configurations in the specified scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''],
],
[
'name' => 'ScalingConfigurationIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scaling configurations that you want to query.'."\n"
."\n"
.'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.',
'type' => 'array',
'items' => ['description' => 'The IDs of the scaling configurations that you want to query.'."\n"
."\n"
.'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'ScalingConfigurationNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The names of the scaling configurations that you want to query.'."\n"
."\n"
.'The query results ignore invalid scaling configuration names without returning an error.',
'type' => 'array',
'items' => ['description' => 'The names of the scaling configurations that you want to query.'."\n"
."\n"
.'The query results ignore invalid scaling configuration names without returning an error.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon**** '."\n", 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'TotalCount' => ['description' => 'The total number of scaling configurations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingConfigurations' => [
'description' => 'The collection of scaling configuration information.',
'type' => 'array',
'items' => [
'description' => 'The collection of scaling configuration information.',
'type' => 'object',
'properties' => [
'DeploymentSetId' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'example' => 'ds-bp1frxuzdg87zh4p****', 'title' => ''],
'CreationTime' => ['description' => 'The time when the scaling configuration was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''],
'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.', 'type' => 'string', 'example' => 'scalingconfigura****', 'title' => ''],
'SystemDiskDescription' => ['description' => 'The description of the system cloud disk.', 'type' => 'string', 'example' => 'Test system disk.', 'title' => ''],
'KeyPairName' => ['description' => 'The name of the key pair used to log on to the ECS instance.', 'type' => 'string', 'example' => 'keypair****', 'title' => ''],
'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''],
'PrivatePoolOptions.Id' => ['description' => 'The ID of the private pool. This is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
'SystemDiskAutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''],
'SpotStrategy' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n"
.' '."\n"
.'- NoSpot: a regular pay-as-you-go instance.'."\n"
.'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n"
.'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''],
'Affinity' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n"
."\n"
.'- default: The instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n"
."\n"
.'- host: The instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'example' => 'default', 'title' => ''],
'Tenancy' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n"
."\n"
.'- default: creates a non-dedicated-host instance.'."\n"
."\n"
.'- host: creates a dedicated-host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n"
."\n"
.'Default value: default.', 'type' => 'string', 'example' => 'default', 'title' => ''],
'SystemDiskSize' => ['description' => 'The size of the system cloud disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'SpotDuration' => ['description' => 'The retention period of the spot instance. Unit: hours.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'LifecycleState' => ['description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n"
."\n"
.'- Active: The scaling configuration is in the active state. The scaling group uses the active scaling configuration for automatic creation of ECS instances.'."\n"
.'- Inacitve: The scaling configuration is in the inactive state. The scaling configuration exists in the scaling group, but the scaling group does not use it for automatic creation of ECS instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'instance****', 'title' => ''],
'SecurityEnhancementStrategy' => ['description' => 'Specifies whether security hardening is enabled. Valid values:'."\n"
."\n"
.'- Active: Security hardening is enabled. This value is applicable only to public images.'."\n"
.'- Deactive: Security hardening is disabled. This value is applicable to all image types.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'UserData' => ['description' => 'The custom data of the ECS instance.', 'type' => 'string', 'example' => 'echo hello ecs! '."\n", 'title' => ''],
'PrivatePoolOptions.MatchCriteria' => ['description' => 'The private pool capacity option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to select during startup. Valid values:'."\n"
."\n"
.'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the system uses resources from the public pool to start the instance.'."\n"
."\n"
.'- Target: specified mode. The instance uses the specified private pool to start. If the specified private pool is unavailable, the instance fails to start.'."\n"
."\n"
.'- None: none mode. The instance does not use private pool capacity to start.', 'type' => 'string', 'example' => 'Open', 'title' => ''],
'DedicatedHostId' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n"
."\n"
.'You can call the DescribeDedicatedHosts operation to query the list of dedicated host IDs.', 'type' => 'string', 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''],
'InstanceGeneration' => ['description' => 'The generation of the ECS instance.', 'type' => 'string', 'example' => 'ecs-3', 'title' => ''],
'HpcClusterId' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'example' => 'hpc-clus****', 'title' => ''],
'PasswordInherit' => ['description' => 'Specifies whether to use the password preset in the image.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n"
."\n"
.'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n"
."\n"
.'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''],
'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''],
'ImageFamily' => ['description' => 'The name of the image family. By setting this parameter, you can obtain the latest available image in the current image family for instance creation. If `ImageId` is already specified, this parameter cannot be set.', 'type' => 'string', 'example' => 'hangzhou-daily-update', 'title' => ''],
'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n"
."\n"
.'- system: a public image provided by Alibaba Cloud.'."\n"
.'- self: a custom image that you created.'."\n"
.'- others: a shared image or community image provided by other Alibaba Cloud users.'."\n"
.'- marketplace: an image from Alibaba Cloud Marketplace.', 'type' => 'string', 'example' => 'system', 'title' => ''],
'LoadBalancerWeight' => ['description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'SystemDiskCategory' => ['description' => 'The category of the system cloud disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.', 'type' => 'string', 'example' => 'cloud', 'title' => ''],
'HostName' => ['description' => 'The hostname of the ECS instance.', 'type' => 'string', 'example' => 'LocalHost', 'title' => ''],
'SystemDiskName' => ['description' => 'The name of the system cloud disk.', 'type' => 'string', 'example' => 'cloud_ssd_Test', 'title' => ''],
'InternetMaxBandwidthOut' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'InternetMaxBandwidthIn' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''],
'InstanceDescription' => ['description' => 'The description of the ECS instance.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
'IoOptimized' => ['description' => 'Indicates whether the instance is an I/O optimization instance. Valid values:'."\n"
."\n"
.'- none: non-I/O optimization.'."\n"
.'- optimized: I/O optimization.', 'type' => 'string', 'example' => 'none', 'title' => ''],
'RamRoleName' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by RAM. You can call ListRoles to query available RAM roles.', 'type' => 'string', 'example' => 'ramrole****', 'title' => ''],
'SystemDiskPerformanceLevel' => ['description' => 'The performance level (PL) of the system cloud disk when the system cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''],
'Cpu' => ['description' => 'The number of vCPUs.'."\n"
."\n"
.'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n"
."\n"
.'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'example' => 'rg-aekzn2ou7xo****', 'title' => ''],
'ZoneId' => ['description' => 'The zone ID of the instance. You can call DescribeZones to query the list of available zones.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''],
'InternetChargeType' => ['description' => 'The billing method for network usage. Valid values:'."\n"
."\n"
.'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is the selected fixed bandwidth value.'."\n"
.'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is only a bandwidth upper limit. Billing is based on the actual network traffic generated.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''],
'ImageName' => ['description' => 'The name of the image file.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd '."\n", 'title' => ''],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''],
'CreditSpecification' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n"
.'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [What are burstable instances](~~59977~~).'."\n"
.'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [What are burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
'SpotInterruptionBehavior' => ['description' => 'The break mode of the spot instance.', 'type' => 'string', 'example' => 'Terminate', 'title' => ''],
'CustomPriorities' => [
'description' => 'The custom priorities of instance type + vSwitch combinations.'."\n"
.'>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.'."\n"
."\n"
.'When an instance cannot be created based on a higher-priority instance type + vSwitch combination, Auto Scaling automatically selects the next-priority combination to create ECS instance.'."\n"
."\n"
.'> If only some instance type + vSwitch custom priorities are specified, the unspecified combinations have lower priority than the specified ones, and the unspecified combinations are still prioritized based on the vSwitch order of the scaling group and ECS instance type order of the scaling configuration.'."\n"
.'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, ECS instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.c6a.4xlarge', 'title' => ''],
'VswitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp14zolna43z266bq****'."\n", 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'DataDisks' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'array',
'items' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'object',
'properties' => [
'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the data cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''],
'Description' => ['description' => 'The description of the data cloud disk.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk.', 'type' => 'string', 'example' => 's-23f2i****', 'title' => ''],
'Device' => ['description' => 'The mount point of the data cloud disk.', 'type' => 'string', 'example' => '/dev/xvdb', 'title' => ''],
'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n"
."\n"
.'- cloud: 5 to 2000.'."\n"
.'- cloud_efficiency: 20 to 32768.'."\n"
.'- cloud_ssd: 20 to 32768.'."\n"
.'- cloud_essd: 20 to 32768.'."\n"
.'- ephemeral_ssd: 5 to 800.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
'DiskName' => ['description' => 'The name of the data cloud disk.', 'type' => 'string', 'example' => 'cloud_ssdData', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''],
'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''],
'KMSKeyId' => ['description' => 'The ID of the KMS key associated with the data cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
'DeleteWithInstance' => ['description' => 'Indicates whether the data cloud disk is released when the instance is released. Valid values:'."\n"
."\n"
.'- true: The data cloud disk is released when the instance is released.'."\n"
.'- false: The data cloud disk is retained when the instance is released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Encrypted' => ['description' => 'Indicates whether the data cloud disk is encrypted. Valid values:'."\n"
."\n"
.'- true: encrypted.'."\n"
.'- false: not encrypted.'."\n"
."\n"
.'Default value: false.', 'type' => 'string', 'example' => 'false', 'title' => ''],
'Categories' => [
'description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.',
'type' => 'array',
'items' => ['description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL cloud disk.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud_essd', 'title' => ''],
'title' => '',
'example' => '',
],
'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that block storage can process per second, representing the read/write (output/input) capability. Unit: operations per second.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'BurstingEnabled' => ['description' => 'Indicates whether the data cloud disk has Burst (performance burst) enabled. Valid values:'."\n"
.'- true: enabled.'."\n"
.'- false: not enabled.'."\n"
."\n"
.'> This parameter is displayed only when `DataDisk.Category` is set to `cloud_auto`.'."\n"
."\n"
.'For more information, see [ESSD AutoPL cloud disk](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Tags' => [
'description' => 'The collection of tag information.',
'type' => 'array',
'items' => [
'description' => 'The collection of tag information.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n"
."\n"
.'If you specify this parameter, it cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'binary', 'title' => ''],
'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n"
."\n"
.'If you specify this parameter, it can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'alterTable', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'SpotPriceLimits' => [
'description' => 'The collection of spot instance information.',
'type' => 'array',
'items' => [
'description' => 'The collection of spot instance information.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type of the spot instance.', 'type' => 'string', 'example' => 'ecs.g6.large '."\n", 'title' => ''],
'PriceLimit' => ['description' => 'The price limit for the spot instance.', 'type' => 'number', 'format' => 'float', 'example' => '0.125 '."\n", 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'InstancePatternInfos' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'array',
'items' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'object',
'properties' => [
'MaxPrice' => ['description' => 'The maximum hourly price acceptable for pay-as-you-go or spot instances.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''],
'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n"
."\n"
.'- EntryLevel: entry level, which refers to shared instance types. Lower cost but no guarantee of stable computing performance. Suitable for scenarios with low average CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n"
.'- EnterpriseLevel: enterprise level. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n"
.'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. Uses CPU credits to ensure computing performance. Suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''],
'Architectures' => [
'description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.',
'type' => 'array',
'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.', 'type' => 'string', 'example' => 'X86', 'title' => ''],
'title' => '',
'example' => '',
],
'BurstablePerformance' => ['description' => 'Specifies whether the instance type is a burstable instance type. Valid values:'."\n"
."\n"
.'- Exclude: excludes burstable instance types.'."\n"
.'- Include: includes burstable instance types.'."\n"
.'- Required: includes only burstable instance types.', 'type' => 'string', 'example' => 'Include', 'title' => ''],
'ExcludedInstanceTypes' => [
'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes all instance types in the c6 instance family.',
'type' => 'array',
'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes all instance types in the c6 instance family.', 'type' => 'string', 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''],
'title' => '',
'example' => '',
],
'InstanceTypeFamilies' => [
'description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.',
'type' => 'array',
'items' => ['description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'ecs.g6', 'title' => ''],
'title' => '',
'example' => '',
],
'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n"
."\n"
.'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'GpuSpecs' => [
'description' => 'The GPU types.',
'type' => 'array',
'items' => ['description' => 'The GPU types.', 'type' => 'string', 'example' => 'NVIDIA V100', 'title' => ''],
'title' => '',
'example' => '',
],
'InstanceCategories' => [
'description' => 'The instance categorization. Valid values:'."\n"
."\n"
.'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n"
."\n"
.'- General-purpose: general-purpose.'."\n"
.'- Compute-optimized: compute-optimized.'."\n"
.'- Memory-optimized: memory-optimized.'."\n"
.'- Big data: big data.'."\n"
.'- Local SSDs: local SSD.'."\n"
.'- High Clock Speed: high frequency.'."\n"
.'- Enhanced: enhanced.'."\n"
.'- Shared: shared.'."\n"
.'- Compute-optimized with GPU: GPU computing.'."\n"
.'- Visual Compute-optimized: visual compute-optimized.'."\n"
.'- Heterogeneous Service: heterogeneous service.'."\n"
.'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n"
.'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n"
.'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n"
.'- High Performance Compute: high-performance computing (HPC).',
'type' => 'array',
'items' => ['description' => 'The instance categorization. Valid values:'."\n"
."\n"
.'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n"
."\n"
.'- General-purpose: general-purpose.'."\n"
.'- Compute-optimized: compute-optimized.'."\n"
.'- Memory-optimized: memory-optimized.'."\n"
.'- Big data: big data.'."\n"
.'- Local SSDs: local SSD.'."\n"
.'- High Clock Speed: high frequency.'."\n"
.'- Enhanced: enhanced.'."\n"
.'- Shared: shared.'."\n"
.'- Compute-optimized with GPU: GPU computing.'."\n"
.'- Visual Compute-optimized: visual compute-optimized.'."\n"
.'- Heterogeneous Service: heterogeneous service.'."\n"
.'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n"
.'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n"
.'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n"
.'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'example' => 'Compute-optimized with GPU', 'title' => ''],
'title' => '',
'example' => '',
],
'CpuArchitectures' => [
'description' => 'The CPU architectures of the instance type. Valid values:'."\n"
."\n"
.'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.',
'type' => 'array',
'items' => ['description' => 'The CPU architecture of the instance. Valid values:'."\n"
."\n"
.'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.', 'type' => 'string', 'example' => 'X86', 'title' => ''],
'title' => '',
'example' => '',
],
'PhysicalProcessorModels' => [
'description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.',
'type' => 'array',
'items' => ['description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''],
'title' => '',
'example' => '',
],
'MinimumEniQuantity' => ['description' => 'The minimum upper limit of elastic network interfaces (ENIs) that the instance supports to mount per network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum upper limit of IPv4 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum upper limit of IPv6 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''],
'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''],
'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'SystemDiskCategories' => [
'description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.',
'type' => 'array',
'items' => ['description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''],
'title' => '',
'example' => '',
],
'WeightedCapacities' => [
'description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.',
'type' => 'array',
'items' => ['description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'title' => '',
'example' => '',
],
'InstanceTypes' => [
'description' => 'The collection of instance types of the ECS instance.',
'type' => 'array',
'items' => ['description' => 'The collection of instance types of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''],
'title' => '',
'example' => '',
],
'SecurityGroupIds' => [
'description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.',
'type' => 'array',
'items' => ['description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''],
'title' => '',
'example' => '',
],
'SchedulerOptions' => [
'description' => '> This parameter is in invitational preview and is not publicly available.',
'type' => 'object',
'properties' => [
'ManagedPrivateSpaceId' => ['description' => '> This parameter is in invitational preview and is not publicly available.', 'type' => 'string', 'example' => 'testManagedPrivateSpaceId', 'title' => ''],
],
'title' => '',
'example' => '',
],
'SystemDiskEncrypted' => ['description' => 'Indicates whether the system cloud disk is encrypted. Valid values:'."\n"
."\n"
.'- true: encrypted.'."\n"
."\n"
.'- false: not encrypted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'SystemDiskKMSKeyId' => ['description' => 'The ID of the KMS key used by the system cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40**** '."\n", 'title' => ''],
'SystemDiskEncryptAlgorithm' => ['description' => 'The encryption algorithm used by the system cloud disk. Valid values:'."\n"
."\n"
.'- AES-256.'."\n"
."\n"
.'- SM4-128.', 'type' => 'string', 'example' => 'AES-256 '."\n", 'title' => ''],
'SystemDiskProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the system cloud disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that can be processed per second, indicating the read/write capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'SystemDiskBurstingEnabled' => ['description' => 'Indicates whether the system cloud disk has Burst (performance burst) enabled. Valid values:'."\n"
."\n"
.'- true: enabled.'."\n"
.'- false: not enabled.'."\n"
.' '."\n"
.'> This parameter is supported only when SystemDisk.Category is set to cloud_auto.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'ImageOptionsLoginAsNonRoot' => ['description' => 'Indicates whether the ECS instance uses the ecs-user user to log on. Valid values:'."\n"
."\n"
.'- true: yes.'."\n"
.'- false: no.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'DeletionProtection' => ['description' => 'The release protection property of the instance, which specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n"
."\n"
.'- true: Release protection is enabled. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'- false: Release protection is disabled. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'> This property applies only to pay-as-you-go instances and prevents instances scaled out by Auto Scaling from being accidentally deleted. It does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'StorageSetId' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''],
'StorageSetPartitionNumber' => ['description' => 'The maximum number of partitions in the storage set. Valid values: integers greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'NetworkInterfaces' => [
'description' => 'The list of elastic network interfaces (ENIs).',
'type' => 'array',
'items' => [
'description' => 'The elastic network interface (ENI).',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The type of the elastic network interfaces (ENIs). Valid values:'."\n"
."\n"
.'- Primary: primary network interface controller (NIC).'."\n"
."\n"
.'- Secondary: secondary elastic network interfaces (ENIs).', 'type' => 'string', 'example' => 'Primary', 'title' => ''],
'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the elastic network interfaces (ENIs). Valid values:'."\n"
."\n"
.'- Standard: uses the TCP communication mode.'."\n"
.'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.', 'type' => 'string', 'example' => 'HighPerformance', 'title' => ''],
'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the primary ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'SecurityGroupIds' => [
'description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.',
'type' => 'array',
'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.', 'type' => 'string', 'example' => 'sg-2vc3e1v7xxxxx', 'title' => ''],
'title' => '',
'example' => '',
],
'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the ENI. Valid values: 1 to 49.'."\n"
."\n"
.'- The value cannot exceed the maximum number of IP addresses allowed for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n"
."\n"
.'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'DedicatedHostClusterId' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''],
'PasswordSetted' => ['description' => 'Indicates whether a password is set for the instance. Valid values:'."\n"
."\n"
.'- true: A password is set for the instance.'."\n"
.'- false: No password is set for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'SecurityOptions' => [
'description' => 'The security options.',
'type' => 'object',
'properties' => [
'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n"
.'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n"
.'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'example' => 'TDX', 'title' => ''],
],
'title' => '',
'example' => '',
],
'HttpEndpoint' => ['description' => 'Indicates whether the access channel for instance metadata is enabled. Valid values:'."\n"
.'- enabled: Enabled.'."\n"
.'- disabled: Disabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''],
'HttpTokens' => ['description' => 'Indicates whether the China-enhanced mode (IMDSv2) is forcefully used when accessing instance metadata. Valid values:'."\n"
."\n"
.'- optional: Not forcefully used.'."\n"
.'- required: Forcefully used. After this value is set, instance metadata cannot be accessed in normal mode.', 'type' => 'string', 'example' => 'optional', 'title' => ''],
'ResourcePoolOptions' => [
'description' => 'The resource pool policy used when creating instances.'."\n"
."\n"
.'- This parameter takes effect only when pay-as-you-go instances are created.',
'type' => 'object',
'properties' => [
'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n"
."\n"
.'- PrivatePoolFirst: Private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n"
."\n"
.'- PrivatePoolOnly: Private pool only. When this strategy is selected, ResourcePoolOptions.PrivatePoolIds must be specified. If the specified private pool has insufficient capacity, the instance fails to start.'."\n"
."\n"
.'- PublicPoolFirst: Public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n"
.'- None: No resource pool policy is used.', 'type' => 'string', 'example' => 'PrivatePoolFirst', 'title' => ''],
'PrivatePoolIds' => [
'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.',
'type' => 'array',
'items' => ['description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
'title' => '',
'example' => '',
],
'PrivatePoolTags' => [
'description' => 'The tags used to filter available Target-type private pools.',
'type' => 'array',
'items' => [
'description' => 'The tags used to filter available Target-type private pools.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''],
'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'InstanceTypeCandidateOptions' => [
'description' => 'When the candidate mode is enabled and issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in candidate zones are created and added to the scaling group.',
'type' => 'object',
'properties' => [
'Enabled' => ['description' => 'Indicates whether the candidate mode is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'MaxPrice' => ['description' => 'The maximum price for candidate instance types.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''],
'AllowDifferentGeneration' => ['description' => 'Indicates whether instance types of other generations can be supplemented.'."\n"
."\n"
.'- For example, if the current instance type is ecs.c7.large, enabling this option allows candidate instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'AllowCrossAz' => ['description' => 'Indicates whether vSwitches in other zones can be supplemented.'."\n"
.'> The instance type remains unchanged. Only new zones are used as candidates. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n"
.'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'AllowCidrBlocks' => [
'description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.',
'type' => 'array',
'items' => ['description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.', 'type' => 'string', 'example' => '172.16.0.0/24'."\n", 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'CpuOptions' => [
'description' => 'The CPU options.',
'type' => 'object',
'properties' => [
'NestedVirtualization' => ['description' => 'Indicates whether hardware-based nested virtualization is enabled. Valid values:'."\n"
."\n"
.'* enabled'."\n"
.'* disabled', 'type' => 'string', 'example' => 'enabled', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\\\t\\\\n\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\\\t\\\\n\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"CustomPriorities\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c6a.4xlarge\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\\\n\\"\\n }\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": [\\n \\"cloud_essd\\"\\n ],\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ],\\n \\"SpotPriceLimits\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\\\t\\\\n\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ],\\n \\"InstancePatternInfos\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": [\\n \\"X86\\"\\n ],\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ],\\n \\"InstanceTypeFamilies\\": [\\n \\"ecs.g6\\"\\n ],\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": [\\n \\"NVIDIA V100\\"\\n ],\\n \\"InstanceCategories\\": [\\n \\"Compute-optimized with GPU\\"\\n ],\\n \\"CpuArchitectures\\": [\\n \\"X86\\"\\n ],\\n \\"PhysicalProcessorModels\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\"\\n ],\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ],\\n \\"SystemDiskCategories\\": [\\n \\"cloud\\"\\n ],\\n \\"WeightedCapacities\\": [\\n 4\\n ],\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ],\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDiskEncrypted\\": false,\\n \\"SystemDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\\\t\\\\n\\",\\n \\"SystemDiskEncryptAlgorithm\\": \\"AES-256\\\\t\\\\n\\",\\n \\"SystemDiskProvisionedIops\\": 100,\\n \\"SystemDiskBurstingEnabled\\": false,\\n \\"ImageOptionsLoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"NetworkInterfaces\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": [\\n \\"sg-2vc3e1v7xxxxx\\"\\n ],\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ],\\n \\"DedicatedHostClusterId\\": \\"dc-zm04u8r3lohsq****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ],\\n \\"PrivatePoolTags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"InstanceTypeCandidateOptions\\": {\\n \\"Enabled\\": true,\\n \\"MaxPrice\\": 2,\\n \\"AllowDifferentGeneration\\": true,\\n \\"AllowCrossAz\\": true,\\n \\"AllowCidrBlocks\\": [\\n \\"172.16.0.0/24\\\\n\\"\\n ]\\n },\\n \\"CpuOptions\\": {\\n \\"NestedVirtualization\\": \\"enabled\\"\\n }\\n }\\n ]\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
'title' => 'Query eCS-type scaling configurations',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingConfigurations',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'DescribeScalingGroupDetail' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '212843',
'abilityTreeNodes' => ['FEATUREess7569XW'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'OutputFormat',
'in' => 'query',
'schema' => ['description' => 'The output format. Set the value to yaml.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'ScalingGroup' => [
'description' => 'The scaling group.'."\n",
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The virtual private cloud (VPC) ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vpc-wz9fcq97y1vqkd8bijcq6', 'title' => ''],
'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''],
'TotalInstanceCount' => ['description' => 'The total number of Elastic Compute Service (ECS) instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingGroupName' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region.'."\n"
."\n"
.'The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****'."\n", 'title' => ''],
'SpotInstancePools' => ['description' => 'The number of instance types that are specified. Preemptible instances of multiple lowest-priced instance types are evenly distributed across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'StoppedCapacity' => ['description' => 'The number of instances that are stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'ModificationTime' => ['description' => 'The time when the scaling group was modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''],
'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****'."\n", 'title' => ''],
'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'ScalingPolicy' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n"
."\n"
.'* recycle: economical mode'."\n"
.'* release: release mode'."\n"
.'* forcerelease: forced release mode'."\n"
.'* forcerecycle: forced recycle mode'."\n"
."\n"
.'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''],
'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances in the scaling group is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n"
."\n"
.'* Active: The scaling group is in the Enabled state. Enabled scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n"
.'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n"
.'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''],
'GroupDeletionProtection' => ['description' => 'Indicates whether Deletion Protection is enabled for the scaling group. Valid values:'."\n"
."\n"
.'* true: Deletion Protection is enabled for the scaling group. This way, the scaling group cannot be deleted.'."\n"
.'* false: Deletion Protection is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****'."\n", 'title' => ''],
'GroupType' => ['description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n"
."\n"
.'* ECS: ECS instances'."\n"
.'* ECI: elastic container instances'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n"
."\n"
.'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n"
."\n"
.'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances that use the lowest-priced vCPUs. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances in the case that preemptible instances cannot be created due to insufficient inventory of preemptible instance types.'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** The COST_OPTIMIZED setting takes effect only if you specified multiple instance types or preemptible instance types in your scaling configuration.'."\n"
."\n"
.'* BALANCE: ECS instances are evenly distributed across the zones of the scaling group. If ECS instance are unevenly distributed across the specified zones due to insufficient inventory of instance types, you can call the RebalanceInstance operation to rebalance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''],
'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'CurrentHostName' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''],
'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****'."\n", 'title' => ''],
'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, the value of this parameter indicates the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message which indicates that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'LaunchTemplateVersion' => ['description' => 'The version number of the launch template.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''],
'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
'VServerGroups' => [
'description' => 'The backend vServer groups.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instance to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****'."\n", 'title' => ''],
'VServerGroupAttributes' => [
'description' => 'The attributes of the backend vServer group.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****'."\n", 'title' => ''],
'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Port' => ['description' => 'The port number of a backend vServer.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'LaunchTemplateOverrides' => [
'description' => 'The information about the instance types that are extended in the launch template.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'InstanceType' => ['description' => 'The instance type. The instance type that is specified by using this parameter overwrites the instance type of the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge'."\n", 'title' => ''],
'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n"
."\n"
.'> This parameter takes effect only if you specify `LaunchTemplateId`.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'AlbServerGroups' => [
'description' => 'The information about the Application Load Balancer (ALB) server groups.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'AlbServerGroupId' => ['description' => 'The ID of the Application Load Balancer (ALB) server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****'."\n", 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'ServerGroups' => [
'description' => 'The information about the server groups.'."\n"
."\n"
.'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The server groups.'."\n",
'type' => 'object',
'properties' => [
'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****'."\n", 'title' => ''],
'Type' => ['description' => 'The type of the server group. Valid values:'."\n"
."\n"
.'* ALB'."\n"
.'* NLB'."\n"
.'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'RemovalPolicies' => [
'description' => 'The instance removal policies.'."\n",
'type' => 'array',
'items' => ['description' => 'The instance removal policy. Valid values:'."\n"
."\n"
.'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n"
.'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n"
.'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''],
'title' => '',
'example' => '',
],
'DBInstanceIds' => [
'description' => 'The IDs of the ApsaraDB RDS instances that are associated with the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****'."\n", 'title' => ''],
'title' => '',
'example' => '',
],
'LoadBalancerIds' => [
'description' => 'The IDs of the SLB instances that are associated with the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the SLB instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****'."\n", 'title' => ''],
'title' => '',
'example' => '',
],
'VSwitchIds' => [
'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''],
'title' => '',
'example' => '',
],
'SuspendedProcesses' => [
'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n"
."\n"
.'* ScaleIn: scale-in'."\n"
.'* ScaleOut: scale-out'."\n"
.'* HealthCheck: health check'."\n"
.'* AlarmNotification: event-triggered task'."\n"
.'* ScheduledAction: scheduled task'."\n",
'type' => 'array',
'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n"
."\n"
.'* ScaleIn: scale-in'."\n"
.'* ScaleOut: scale-out'."\n"
.'* HealthCheck: health check'."\n"
.'* AlarmNotification: event-triggered task'."\n"
.'* ScheduledAction: scheduled task'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''],
'title' => '',
'example' => '',
],
'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n"
."\n"
.'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. You must modify the scaling group or scaling configuration to resume the execution of the scaling activities.'."\n"
.'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****'."\n", 'title' => ''],
'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'AllocationStrategy' => ['description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''],
'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''],
'MaxInstanceLifetime' => ['description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n"
."\n"
.'Valid values: 0 or from 86400 to `Integer.maxValue`. A value of 0 for MaxInstanceLifetime indicates that any previously set limit has been removed, which effectively disables the maximum instance lifetime constraint.'."\n"
."\n"
.'Default value: null.'."\n"
."\n"
.'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''],
'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'null', 'title' => ''],
'InitCapacity' => ['description' => 'The number of instances that are in the Initialized state and not added to the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n"
."\n"
.'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek2epf32c4uyji', 'title' => ''],
'LoadBalancerConfigs' => [
'description' => 'The CLB configurations.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zein3ytoeq49cmkbyxr0', 'title' => ''],
'Weight' => ['description' => 'The weight of a backend server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Tags' => [
'description' => 'The tags of the scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''],
'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''],
'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n"
."\n"
.'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n"
.'* false: The tags of the scaling group cannot be propagated to any instances.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'HealthCheckTypes' => [
'description' => 'The health check mode of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'Output' => ['description' => 'The output details of the scaling group of the Elastic Container Instance type. Currently, the output is displayed in a Kubernetes Deployment YAML file.'."\n", 'type' => 'string', 'example' => 'apiVersion: apps/v1'."\n"
.'kind: Deployment'."\n"
.'metadata:'."\n"
.' name: nginx-deployment'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' spec:'."\n"
.' replicas: 3'."\n"
.' selector:'."\n"
.' matchLabels:'."\n"
.' app: nginx'."\n"
.' template:'."\n"
.' metadata:'."\n"
.' labels:'."\n"
.' app: nginx'."\n"
.' annotations:'."\n"
.' k8s.aliyun.com/eip-bandwidth: 10'."\n"
.' k8s.aliyun.com/eci-with-eip: true'."\n"
.' spec:'."\n"
.' containers:'."\n"
.' - name: nginx'."\n"
.' image: nginx:1.14.2'."\n"
.' ports:'."\n"
.' - containerPort: 80', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'DescribeScalingGroupDetail',
'summary' => 'Queries a scaling group. You can call the DescribeScalingGroupDetail operation to query the basic information, instances, and scaling configurations of a scaling group. If you set OutputFormat to YAML for a scaling group of the Elastic Container Instance type, the output is a Kubernetes Deployment file in the YAML format.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroupDetail',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroup\\": {\\n \\"VpcId\\": \\"vpc-wz9fcq97y1vqkd8bijcq6\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\\\n\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\\\n\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\\\n\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 0,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\\\n\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\\\n\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\\\n\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\\\n\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 80\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\\\n\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\\\n\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\\\n\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\\\n\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\\\n\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\\\n\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\\\n\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"null\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aek2epf32c4uyji\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zein3ytoeq49cmkbyxr0\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"EnableDesiredCapacity\\": true,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]',
],
'DescribeScalingGroupDiagnoseDetails' => [
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221455',
'abilityTreeNodes' => ['FEATUREessA4Z14P'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region to which the scaling group belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'ID of the request', 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****'],
'Details' => [
'description' => 'The diagnostic reports.'."\n",
'type' => 'array',
'items' => [
'description' => 'The diagnostic report.'."\n",
'type' => 'object',
'properties' => [
'DiagnoseType' => ['description' => 'The type of the diagnostic item. Valid values:'."\n"
."\n"
.'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n"
.'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account is sufficient.'."\n"
.'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n"
.'* VSwitch: Checks whether the vSwitch is available. If the specified vSwitch is deleted, specify an existing vSwitch for the scaling group.'."\n"
.'* SecurityGroup: Checks whether the security group is available. If the specified security group is deleted, specify an existing security group for the scaling group.'."\n"
.'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n"
.'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n"
.'* AlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n"
.'* NlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n", 'type' => 'string', 'example' => 'SecurityGroup'],
'ResourceId' => ['description' => 'The resource ID corresponding to the diagnostic result.', 'type' => 'string', 'example' => 'sg-280ih****'],
'Status' => ['description' => 'Status of the diagnostic item. Possible values:'."\n"
."\n"
.'- Normal: The diagnostic result is normal.'."\n"
."\n"
.'- Warn: The diagnostic result is a warning.'."\n"
."\n"
.'- Critical: The diagnostic result is critical.', 'type' => 'string', 'example' => 'Normal'],
'ErrorCode' => ['description' => 'The error code of the diagnostic item. Valid values:'."\n"
."\n"
.'* VSwitchIdNotFound: The vSwitch does not exist.'."\n"
.'* SecurityGroupNotFound: The security group does not exist.'."\n"
.'* KeyPairNotFound: The key pair does not exist.'."\n"
.'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n"
.'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n"
.'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n"
.'* AccountArrearage: Your account has an overdue payment.'."\n"
.'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is insufficient.'."\n"
.'* ElasticStrengthAlert: The inventory levels are lower than required.'."\n", 'type' => 'string', 'example' => 'AccountArrearage'],
],
],
],
],
],
],
],
'title' => 'Query the Latest Diagnostics Details of a Scaling Group',
'summary' => 'DescribeScalingGroupDiagnoseDetails',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroupDiagnoseDetails',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"SecurityGroup\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"AccountArrearage\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeScalingGroups' => [
'summary' => 'Queries information about scaling groups, such as the basic information, instances, and scaling configurations.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125357',
'abilityTreeNodes' => ['FEATUREess7569XW'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Page starts from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'GroupType',
'in' => 'query',
'schema' => ['description' => 'The type of instances that are managed by the scaling group. Valid values:'."\n"
."\n"
.'* ECS: Elastic Compute Service (ECS) instances.'."\n"
.'* ECI: elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
],
[
'name' => 'ScalingGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scaling groups that you want to query.'."\n"
."\n"
.'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the scaling group that you want to query.'."\n"
."\n"
.'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'ScalingGroupNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The names of the scaling groups that you want to query.'."\n"
."\n"
.'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n",
'type' => 'array',
'items' => ['description' => 'The name of the scaling group that you want to query.'."\n"
."\n"
.'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup**** '."\n", 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'ScalingGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n"
."\n"
.'> If no scaling group belongs to the specified resource group, the query result is empty and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags of the scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag of the scaling group.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''],
'Value' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'Details about the scaling group list.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingGroups' => [
'description' => 'The scaling groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The scaling group.'."\n",
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) in which the scaling group resides.'."\n", 'type' => 'string', 'example' => 'vpc-bp1vwnn14rqpyiczj****', 'title' => ''],
'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''],
'TotalInstanceCount' => ['description' => 'The total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingGroupName' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****', 'title' => ''],
'SpotInstancePools' => ['description' => 'The number of instance types in the scaling group. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'StoppedCapacity' => ['description' => 'The number of instances that was stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in excess when the minimum number of pay-as-you-go instances reaches the threshold. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'ModificationTime' => ['description' => 'The time when the scaling group was last modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''],
'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''],
'CompensateWithOnDemand' => ['description' => 'Indicates whether Auto Scaling can create pay-as-you-go instances to supplement preemptible instances if preemptible instances cannot be created due to price-related factors or insufficient inventory when MultiAZPolicy is set to COST_OPTIMIZED. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'ScalingPolicy' => ['description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n"
."\n"
.'* recycle: economical mode.'."\n"
.'* release: release mode.'."\n"
.'* forcerelease: forced release mode.'."\n"
."\n"
.'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''],
'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n"
."\n"
.'* Active: The scaling group is active. Active scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n"
.'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n"
.'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''],
'GroupDeletionProtection' => ['description' => 'Indicates whether the Deletion Protection feature is enabled for the scaling group. Valid values:'."\n"
."\n"
.'* true: The Deletion Protection feature is enabled for the scaling group. The scaling group cannot be deleted.'."\n"
.'* false: The Deletion Protection feature is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****', 'title' => ''],
'GroupType' => ['description' => 'The type of instances that are managed by the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n"
."\n"
.'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n"
."\n"
.'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances if preemptible instances cannot be created due to limited stock.'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** The COST_OPTIMIZED setting takes effect only if your scaling configuration contains multiple instance types or contains preemptible instance types.'."\n"
."\n"
.'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances become unevenly distributed across the specified zones due to limited instance type availability, you can call the RebalanceInstance operation to balance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''],
'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'CurrentHostName' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''],
'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''],
'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, this parameter specifies the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling proactively creates instances to replace the preemptible instances for reclamation when Auto Scaling receives a system notification.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'LaunchTemplateVersion' => ['description' => 'The version of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''],
'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. During the cooldown period, Auto Scaling does not execute the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
'VServerGroups' => [
'description' => 'The backend vServer groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The backend vServer group.'."\n",
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the load balancer to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''],
'VServerGroupAttributes' => [
'description' => 'The attributes of the backend vServer groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The attributes of the backend vServer group.'."\n",
'type' => 'object',
'properties' => [
'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****', 'title' => ''],
'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Port' => ['description' => 'The port number that is used by the load balancer to provide external services.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'LaunchTemplateOverrides' => [
'description' => 'The instance types that are extended in the launch template.'."\n",
'type' => 'array',
'items' => [
'description' => 'The instance type that is extended in the launch template.'."\n",
'type' => 'object',
'properties' => [
'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of a single instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'InstanceType' => ['description' => 'The instance type. The instance type that is specified by this parameter overrides the instance type that is specified in the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge', 'title' => ''],
'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n"
."\n"
.'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'AlbServerGroups' => [
'description' => 'The Application Load Balancer (ALB) server groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The ALB server group.'."\n",
'type' => 'object',
'properties' => [
'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'ServerGroups' => [
'description' => 'The information about the server groups.'."\n"
."\n"
.'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The server group information.'."\n",
'type' => 'object',
'properties' => [
'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****', 'title' => ''],
'Type' => ['description' => 'The type of the server group. Valid values:'."\n"
."\n"
.'* ALB'."\n"
.'* NLB'."\n"
.'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'Port' => ['description' => 'The port number used by each ECS instance in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'RemovalPolicies' => [
'description' => 'The instance removal policies. Valid values:'."\n"
."\n"
.'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n"
.'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n"
.'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n",
'type' => 'array',
'items' => ['description' => 'The instance removal policy. Valid values:'."\n"
."\n"
.'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n"
.'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n"
.'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''],
'title' => '',
'example' => '',
],
'DBInstanceIds' => [
'description' => 'The IDs of the ApsaraDB RDS instances that are attached to the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****', 'title' => ''],
'title' => '',
'example' => '',
],
'LoadBalancerIds' => [
'description' => 'The IDs of the load balancers that are attached to the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the load balancer that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****', 'title' => ''],
'title' => '',
'example' => '',
],
'VSwitchIds' => [
'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''],
'title' => '',
'example' => '',
],
'SuspendedProcesses' => [
'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n"
."\n"
.'* ScaleIn: scale-in processes.'."\n"
.'* ScaleOut: scale-out processes.'."\n"
.'* HealthCheck: health check processes.'."\n"
.'* AlarmNotification: event-triggered task processes.'."\n"
.'* ScheduledAction: scheduled task processes.'."\n",
'type' => 'array',
'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n"
."\n"
.'* ScaleIn: scale-in processes.'."\n"
.'* ScaleOut: scale-out processes.'."\n"
.'* HealthCheck: health check processes.'."\n"
.'* AlarmNotification: event-triggered task processes.'."\n"
.'* ScheduledAction: scheduled task processes.'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''],
'title' => '',
'example' => '',
],
'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n"
."\n"
.'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. In this case, you must modify the scaling group or scaling configuration to resume the scaling activities.'."\n"
.'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****', 'title' => ''],
'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across the specified zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'AllocationStrategy' => ['description' => 'The instance allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. The policy is suitable for pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''],
'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. This parameter indicates the manner in which Auto Scaling selects instance types to create the required number of preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of preemptible instances.'."\n"
."\n"
.'Default value: priority.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''],
'MaxInstanceLifetime' => ['description' => 'The maximum life span of each ECS instance in the scaling group. Unit: seconds.'."\n"
."\n"
.'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 for MaxInstanceLifetime indicates that a previously set limit has been removed. This effectively disables the maximum instance lifetime constraint.'."\n"
."\n"
.'Default value: null.'."\n"
."\n"
.'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''],
'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''],
'InitCapacity' => ['description' => 'The number of instances that are initialized before they are added into the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n", 'type' => 'string', 'example' => 'rg-123****', 'title' => ''],
'LoadBalancerConfigs' => [
'description' => 'The load balancer configurations.'."\n",
'type' => 'array',
'items' => [
'description' => 'The load balancer configuration.'."\n",
'type' => 'object',
'properties' => [
'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zep8alpq5zq1a2xwyxxx', 'title' => ''],
'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the CLB server group. An increase in the weight of an ECS instance indicates an increase in the number of access requests that are forwarded to the ECS instance. If you set the weight of an ECS instance to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'Tags' => [
'description' => 'The tags of the scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag of the scaling group.'."\n",
'type' => 'object',
'properties' => [
'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''],
'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''],
'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n"
."\n"
.'* true: The tags of the scaling group can be propagated only to new instances.'."\n"
.'* false: The tags of the scaling group cannot be propagated to instances.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'HealthCheckTypes' => [
'description' => 'The health check mode of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The health check modes of the scaling group. Valid values: 0 to 1024.'."\n"
."\n"
.'* NONE: Auto Scaling does not perform health checks.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
'title' => '',
'example' => '',
],
'DBInstances' => [
'description' => 'The databases that are attached to the scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The database that is attached to the scaling group.'."\n",
'type' => 'object',
'properties' => [
'DBInstanceId' => ['description' => 'The ID of the database.'."\n", 'type' => 'string', 'example' => 'rm-m5eqju85s45mu0***'."\n", 'title' => ''],
'Type' => ['description' => 'The type of the database. Valid values:'."\n"
."\n"
.'* RDS.'."\n"
.'* Redis.'."\n"
.'* MongoDB.'."\n", 'type' => 'string', 'example' => 'RDS', 'title' => ''],
'SecurityGroupIds' => [
'description' => 'The IDs of the security groups that are added to the security group whitelist of the attached database.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the security group that is added to the security group whitelist of the attached database.'."\n"
."\n"
.'If you set `RemoveSecurityGroup` in the DetachDBInstances operation to `true`, the security groups specified by this parameter are removed from the security group whitelist of the attached database.'."\n", 'type' => 'string', 'example' => 'sg-uf65zt66cf2a0q47***', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'SpotCapacity' => ['description' => 'The number of preemptible instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'StopInstanceTimeout' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
'CapacityOptions' => [
'description' => 'The capacity options.'."\n",
'type' => 'object',
'properties' => [
'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the actual number of pay-as-you-go instances drops below the minimum threshold, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go ECS instances with preemptible ECS instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible ECS instances to replace the surplus pay-as-you-go ECS instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go ECS instances if there are not enough preemptible instance types available. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'PriceComparisonMode' => ['description' => 'Indicates how prices are compared. Valid values:'."\n"
."\n"
.'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n"
."\n"
.' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n"
."\n"
.'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n", 'type' => 'string', 'example' => 'PricePerUnit', 'title' => ''],
],
'title' => '',
'example' => '',
],
'BalanceMode' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid value:'."\n"
."\n"
.'* Default value: BalancedBestEffort. If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n"
.'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n", 'type' => 'string', 'title' => '', 'example' => 'BalancedBestEffort'],
'AutoRebalance' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid value:'."\n"
."\n"
.'* false: Auto rebalancing is disabled for the scaling group.'."\n"
.'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n", 'type' => 'boolean', 'title' => '', 'example' => 'false'],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'title' => 'DescribeScalingGroups',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 1,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-123****\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zep8alpq5zq1a2xwyxxx\\",\\n \\"Weight\\": 10\\n }\\n ],\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ],\\n \\"DBInstances\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\\\n\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\n ],\\n \\"SpotCapacity\\": 0,\\n \\"StopInstanceTimeout\\": 60,\\n \\"CapacityOptions\\": {\\n \\"OnDemandBaseCapacity\\": 0,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 0,\\n \\"CompensateWithOnDemand\\": true,\\n \\"SpotAutoReplaceOnDemand\\": false,\\n \\"PriceComparisonMode\\": \\"PricePerUnit\\"\\n },\\n \\"BalanceMode\\": \\"BalancedBestEffort\\",\\n \\"AutoRebalance\\": false\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeScalingInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125341',
'abilityTreeNodes' => ['FEATUREessPMOEEX'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''],
],
[
'name' => 'HealthStatus',
'in' => 'query',
'schema' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n"
."\n"
.'- Healthy: The ECS instance is healthy. '."\n"
.'- Unhealthy: The ECS instance is unhealthy. '."\n"
."\n"
.'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n"
."\n"
.'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n"
."\n"
.'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'required' => false, 'example' => 'Healthy', 'title' => ''],
],
[
'name' => 'LifecycleState',
'in' => 'query',
'schema' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n"
.' '."\n"
.'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n"
.'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n"
.'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n"
.'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Stopped: The ECS instance is stopped and does not provide services.'."\n"
.'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n"
.'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''],
],
[
'name' => 'CreationType',
'in' => 'query',
'schema' => ['description' => 'The method used to create the instance in the scaling group. Valid values: '."\n"
."\n"
.'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n"
.'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.'."\n"
.'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the ECS instance list. Minimum value: 1.'."\n"
."\n"
.'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page in a paged query. Settings: Maximum value: 100.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'ScalingActivityId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances.'."\n"
."\n"
.'Invalid InstanceId values are ignored in the query results, and no error is returned.',
'type' => 'array',
'items' => ['description' => 'The IDs of the ECS instances.'."\n"
."\n"
.'Invalid InstanceId values are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''],
'required' => false,
'maxItems' => 200,
'title' => '',
'example' => '',
],
],
[
'name' => 'CreationTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The methods used to create instances in the scaling group. You can specify only one of this parameter and CreationType.',
'type' => 'array',
'items' => ['description' => 'The method used to create instances in the scaling group. Valid values: AutoCreated, Attached, and Managed.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'LifecycleStates',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The lifecycle states of ECS instances in the scaling group. You can specify only one of this parameter and LifecycleState. We recommend that you use this parameter.',
'type' => 'array',
'items' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n"
.' '."\n"
.'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n"
.'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n"
.'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n"
.'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Stopped: The ECS instance is stopped and does not provide services.'."\n"
.'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n"
.'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalSpotCount' => ['description' => 'The total number of running spot instances in the current scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'TotalCount' => ['description' => 'The total number of ECS instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'ScalingInstances' => [
'description' => 'The collection of ECS instance information.',
'type' => 'array',
'items' => [
'description' => 'The collection of ECS instance information.',
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the minute.', 'type' => 'string', 'example' => '2020-05-18T03:11Z', 'title' => ''],
'LoadBalancerWeight' => ['description' => 'The weight of the load balancing instance.'."\n"
.'> This parameter is deprecated and is not recommended.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''],
'InstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''],
'SpotStrategy' => ['description' => 'The preemption policy of the spot instance. Valid values:'."\n"
."\n"
.'- SpotWithPriceLimit: The spot instance has a maximum price limit.'."\n"
.'- SpotAsPriceGo: The system automatically bids at the current market price.', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => ''],
'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'example' => '1', 'title' => ''],
'HealthStatus' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n"
."\n"
.'- Healthy: The ECS instance is healthy. '."\n"
.'- Unhealthy: The ECS instance is unhealthy. '."\n"
."\n"
.'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n"
."\n"
.'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n"
."\n"
.'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'example' => 'Healthy', 'title' => ''],
'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the instance belongs.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
'WarmupState' => ['description' => 'The warmup state of the ECS instance. Valid values: '."\n"
.' '."\n"
.'- NoNeedWarmup: No warmup is required.'."\n"
.'- WaitingForInstanceWarmup: The instance is waiting for warmup to complete.'."\n"
.'- InstanceWarmupFinish: Warmup is complete.', 'type' => 'string', 'example' => 'NoNeedWarmup', 'title' => ''],
'LifecycleState' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n"
.' '."\n"
.'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n"
.'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n"
.'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n"
.'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n"
.'- Stopped: The ECS instance is stopped and does not provide services.'."\n"
.'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n"
.'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'example' => 'InService', 'title' => ''],
'CreationType' => ['description' => 'The method used to create the ECS instance. Valid values: '."\n"
."\n"
.'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n"
.'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'example' => 'AutoCreated', 'title' => ''],
'ZoneId' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''],
'ScalingConfigurationId' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''],
'Entrusted' => ['description' => 'Indicates whether the manually added instance is managed by the scaling group. A managed manually added instance is released when it is removed from the scaling group (excluding manual removal). Valid values:'."\n"
.'- true: The instance is managed by the scaling group.'."\n"
.'- false: The instance is not managed by the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'WeightedCapacity' => ['description' => 'The weight of the instance type. The weight indicates the capacity that a single instance of this instance type represents in the scaling group. A higher weight means that fewer instances of this type are required to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'CreatedTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the second.', 'type' => 'string', 'example' => '2020-05-18T03:11:39Z', 'title' => ''],
'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the ECS instance was added to the scaling group.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''],
'ScalingInstanceId' => ['description' => 'The instance identity in the scaling group, which has a one-to-one mapping with the ECS instance ID or Elastic Container Instance (ECI) instance identity.', 'type' => 'string', 'example' => 'asi-j6cj1gcte640ekhb****', 'title' => ''],
'PrivateIpAddress' => ['description' => 'The private IP address of the instance in the scaling group.', 'type' => 'string', 'example' => '1**.2*.1**.2**', 'title' => ''],
'ReplaceStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'Query ECS instances in a scaling group',
'summary' => 'Calls DescribeScalingInstances to query the list and information of ECS instances in a scaling group by scaling group ID, including the total number of running spot instances, the total number of ECS instances, the warmup state of ECS instances, and the lifecycle state in the current scaling group. You can also filter ECS instances by health check status, lifecycle state, or creation type.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\",\\n \\"ReplaceStatus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeScalingRules' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125364',
'abilityTreeNodes' => ['FEATUREessRL7GKO'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scaling rules that you want to query belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'],
],
[
'name' => 'ScalingRuleType',
'in' => 'query',
'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n"
."\n"
.'* SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.'."\n"
.'* TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.'."\n"
.'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n"
.'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule'],
],
[
'name' => 'ShowAlarmRules',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rule. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'ScalingRuleIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scaling rules that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asr-bp1dvirgwkoowxk7****'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'ScalingRuleNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The names of the scaling rules that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The names of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'ScalingRuleAris',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The unique identifiers of the scaling rules that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'],
'required' => false,
'maxItems' => 10,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'TotalCount' => ['description' => 'The total number of scaling rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScalingRules' => [
'description' => 'The scaling rules.'."\n",
'type' => 'array',
'items' => [
'description' => 'The scaling rule.'."\n",
'type' => 'object',
'properties' => [
'MetricName' => ['description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'CpuUtilization'],
'AdjustmentType' => ['description' => 'The adjustment method of the scaling rule. Valid values:'."\n"
."\n"
.'* QuantityChangeInCapacity: adds or removes the specified number of Elastic Compute Service (ECS) instances to or from the scaling group.'."\n"
.'* PercentChangeInCapacity: adds or removes the specified percentage of ECS instances to or from the scaling group.'."\n"
.'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", 'type' => 'string', 'example' => 'QuantityChangeInCapacity'],
'InitialMaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify this parameter, you must also specify PredictiveValueBehavior.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100'],
'EstimatedInstanceWarmup' => ['description' => 'The warm-up period of instances. During the warm-up period, a series of preparation measures are taken for the new instances. Performance metrics of instances being warmed up are not counted towards the monitoring range.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300'],
'ScaleOutEvaluationCount' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'PredictiveScalingMode' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n"
."\n"
.'* PredictAndScale: provides predictions and creates prediction tasks.'."\n"
.'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", 'type' => 'string', 'example' => 'PredictAndScale'],
'MinAdjustmentMagnitude' => ['description' => 'The minimum number of instances that must be scaled. This parameter takes effect only if you set ScalingRuleType to SimpleScalingRule or StepScalingRule and set AdjustmentType to PercentChangeInCapacity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'],
'PredictiveTaskBufferTime' => ['description' => 'The amount of buffer time before prediction tasks are executed. By default, all prediction tasks that are automatically created based on a predictive scaling rule are executed on the hour. You can specify a buffer time for resource preparation before prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'],
'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1ffogfdauy0jw0****'],
'PredictiveValueBehavior' => ['description' => 'The action on the predicted maximum value. Valid values:'."\n"
."\n"
.'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by PredictiveValueBuffer, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.'."\n", 'type' => 'string', 'example' => 'MaxOverridePredictiveValue'],
'TargetValue' => ['description' => 'The target value of the metric. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, Auto Scaling keeps the metric value close to the target value by adding instances to or removing instances from the scaling group.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.125'],
'Cooldown' => ['description' => 'The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
'PredictiveValueBuffer' => ['description' => 'The ratio based on which the predicted value is increased when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'ScalingRuleType' => ['description' => 'The type of the scaling rule. Valid values:'."\n"
."\n"
.'* SimpleScalingRule: a simple scaling rule. Once a simple scaling rule is executed, Auto Scaling adjusts the number of ECS instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n"
.'* TargetTrackingScalingRule: a target tracking scaling rule. Once a target tracking scaling rule is executed, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the specified target value (TargetValue).'."\n"
.'* StepScalingRule: a step scaling rule. Once a step scaling rule is executed, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n"
.'* PredictiveScalingRule: a predictive scaling rule. Once a predictive scaling rule is executed, Auto Scaling analyzes the historical monitoring data based on the machine learning technology and predicts the trends of metric data. Auto Scaling also creates scheduled tasks to enable dynamic adjustment of the boundary values for the scaling group.'."\n", 'type' => 'string', 'example' => 'SimpleScalingRule'],
'AdjustmentValue' => ['description' => 'The number of instances that must be scaled based on the scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScaleInEvaluationCount' => ['description' => 'The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'],
'DisableScaleIn' => ['description' => 'Indicates whether scale-in is disabled. This parameter takes effect only if you set ScalingRuleType to TargetTrackingScalingRule. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true'],
'ScalingRuleName' => ['description' => 'The name of the scaling rule.'."\n", 'type' => 'string', 'example' => 'scalingrule****'],
'ScalingRuleId' => ['description' => 'The ID of the scaling rule.'."\n", 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****'],
'Alarms' => [
'description' => 'The event-triggered tasks that are associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n",
'type' => 'array',
'items' => [
'description' => 'The event-triggered task that is associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n",
'type' => 'object',
'properties' => [
'AlarmTaskId' => ['description' => 'The ID of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****'],
'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the metric of the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.'."\n"
."\n"
.'* Valid value if the metric value is greater than or equal to the threshold: >='."\n"
.'* Valid value if the metric value is less than or equal to the threshold: <='."\n"
.'* Valid value if the metric value is greater than the threshold: >'."\n"
.'* Valid value if the metric value is less than the threshold: <'."\n", 'type' => 'string', 'example' => '>='],
'MetricName' => ['description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'CpuUtilization'],
'EvaluationCount' => ['description' => 'The number of consecutive times when the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
'AlarmTaskName' => ['description' => 'The name of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'alarmtask****'],
'MetricType' => ['description' => 'The type of the metric of the event-triggered task that is associated with the scaling rule. Valid values:'."\n"
."\n"
.'* system: system metrics'."\n"
.'* custom: custom metrics'."\n", 'type' => 'string', 'example' => 'system'],
'Threshold' => ['description' => 'The alert threshold of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '50'],
'Statistics' => ['description' => 'The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:'."\n"
."\n"
.'* Average'."\n"
.'* Maximum'."\n"
.'* Minimum'."\n", 'type' => 'string', 'example' => 'Average'],
'Dimensions' => [
'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n",
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of the dimension that is associated with the metric. Valid values:'."\n"
."\n"
.'* ScalingGroupId: the ID of the scaling group.'."\n"
.'* userId: the ID of the user account.'."\n", 'type' => 'string', 'example' => 'scaling_group'],
'DimensionValue' => ['description' => 'The value of the dimension that is associated with the metric.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'],
],
],
],
'Period' => ['description' => 'The statistical period of the metric data in the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'],
],
],
],
'StepAdjustments' => [
'description' => 'The step adjustments of the step scaling rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The step adjustments of the step scaling rule.'."\n",
'type' => 'object',
'properties' => [
'MetricIntervalUpperBound' => ['description' => 'The upper limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '5.0'],
'ScalingAdjustment' => ['description' => 'The number of ECS instances that are scaled in a step adjustment.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'MetricIntervalLowerBound' => ['description' => 'The lower limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'],
],
],
],
'AlarmDimensions' => [
'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'example' => 'rulePool'],
'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'example' => 'sgp-l1cbirz451yxu2dxxx'],
],
'description' => '',
],
],
'MetricType' => ['description' => 'The metric type. Valid values:'."\n"
."\n"
.'* system: system metrics of CloudMonitor.'."\n"
.'* custom: custom metrics that are reported to CloudMonitor.'."\n"
.'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => 'system'],
'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n"
."\n"
.'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'example' => 'aliyun-test'],
'HybridMetrics' => [
'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'example' => 'a'],
'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n"
."\n"
.'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'example' => '(a+b)/2'],
'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible'],
'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n"
."\n"
.'* Average: The average value of all metric values within a specified interval is calculated.'."\n"
.'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n"
.'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", 'type' => 'string', 'example' => 'Average'],
'Dimensions' => [
'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'queue'],
'DimensionValue' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'testQueue'],
],
'description' => '',
],
],
],
'description' => '',
],
],
],
],
],
],
'description' => '',
],
],
],
'title' => 'DescribeScalingRules',
'summary' => 'Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingRules',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ],\\n \\"Period\\": 60\\n }\\n ],\\n \\"StepAdjustments\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ],\\n \\"AlarmDimensions\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2dxxx\\"\\n }\\n ],\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeScheduledTasks' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125344',
'abilityTreeNodes' => ['FEATUREessAWW1X1'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Pages start from page 1.'."\n"
."\n"
.'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1bo5tca4m56nap****'],
],
[
'name' => 'ScheduledActions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The scaling rules of the scheduled tasks. Once the scheduled tasks are triggered, the scaling rules are executed.'."\n",
'type' => 'array',
'items' => ['description' => 'The scaling rule of the scheduled task. Once the scheduled task is triggered, the scaling rule is executed.'."\n"
."\n"
.'Set the value to the unique identifier of the scaling rule (ScalingRuleAri).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****'],
'required' => false,
'maxItems' => 20,
],
],
[
'name' => 'ScheduledTaskIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the scheduled tasks that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edRtShc57WGXdt8TlPbr****'],
'required' => false,
'maxItems' => 20,
],
],
[
'name' => 'ScheduledTaskNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The names of the scheduled tasks that you want to query.'."\n",
'type' => 'array',
'items' => ['description' => 'The name of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'],
'required' => false,
'maxItems' => 20,
],
],
[
'name' => 'TaskName',
'in' => 'query',
'schema' => ['description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'],
],
[
'name' => 'RecurrenceType',
'in' => 'query',
'schema' => ['description' => 'The interval at which scheduled task N is repeatedly executed. Valid values:'."\n"
."\n"
.'* Daily: Scheduled task N is executed once every specified number of days.'."\n"
.'* Weekly: Scheduled task N is executed on each specified day of a week.'."\n"
.'* Monthly: Scheduled task N is executed on each specified day of a month.'."\n"
.'* Cron: Scheduled task N is executed based on the specified Cron expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Weekly'],
],
[
'name' => 'RecurrenceValue',
'in' => 'query',
'schema' => ['description' => 'The number of times scheduled task N is repeatedly executed.'."\n"
."\n"
.'You can specify this parameter only if you set RecurrenceType to Weekly. Separate multiple values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1,2,3'],
],
[
'name' => 'TaskEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether scheduled task N is enabled.'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'],
'TotalCount' => ['description' => 'The total number of scheduled tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'ScheduledTasks' => [
'description' => 'The information collection of the scheduled tasks.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the scheduled tasks.'."\n",
'type' => 'object',
'properties' => [
'TaskEnabled' => ['description' => 'Indicates whether the scheduled task is enabled.'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: true.'."\n", 'type' => 'boolean', 'example' => 'true'],
'RecurrenceValue' => ['description' => 'The frequency of recurrence of the scheduled task.'."\n", 'type' => 'string', 'example' => '1'],
'RecurrenceType' => ['description' => 'The recurring interval of the scheduled task.'."\n", 'type' => 'string', 'example' => 'Daily'],
'MaxValue' => ['description' => 'The maximum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ScheduledTaskName' => ['description' => 'The name of the scheduled task.'."\n", 'type' => 'string', 'example' => 'scheduled****'],
'RecurrenceEndTime' => ['description' => 'The end time of the recurrence of the scheduled task.'."\n", 'type' => 'string', 'example' => '2014-08-20T16:55Z'],
'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
'ScheduledTaskId' => ['description' => 'The ID of the scheduled task.'."\n", 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****'],
'MinValue' => ['description' => 'The minimum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'example' => 'asg-bp1bo5tca4m56nap****'],
'LaunchExpirationTime' => ['description' => 'The time window during which the scheduled task can be retried. Unit: seconds. Valid values: 0 to 21600.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '600'],
'Description' => ['description' => 'The description of the scheduled task.'."\n", 'type' => 'string', 'example' => 'Test scheduled task.'],
'ScheduledAction' => ['description' => 'The scaling rule of the scheduled task. A value is returned for this parameter only after you specify ScheduledActions.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****'],
'LaunchTime' => ['description' => 'The point in time at which the scheduled task is triggered.'."\n", 'type' => 'string', 'example' => '2014-08-18T10:52Z'],
],
],
],
],
'description' => '',
],
],
],
'title' => 'DescribeScheduledTasks',
'summary' => 'Queries scheduled tasks. A scheduled task is a predefined task that triggers the automatic execution of a scaling rule at the specified point in time. It ensures an automatic scaling of computing resources to fulfill your business demands at a minimum cost. After you create a scheduled task, you can call the DescribeScheduledTasks operation to query the details of the task, such as the execution time point and the scaling group ID. You can also call this operation to query the total number of existing scheduled tasks.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScheduledTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DetachAlbServerGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125336',
'abilityTreeNodes' => ['FEATUREessJZ6DNF'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'ForceDetach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances from the Application Load Balancer (ALB) server group marked for detachment. Valid values:'."\n"
."\n"
.'* true: removes the existing ECS instances from the ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are removed from the ALB server group.'."\n"
.'* false: does not remove the existing ECS instances from the ALB server group.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'AlbServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Details of the ALB server groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the ALB server groups.'."\n",
'type' => 'object',
'properties' => [
'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****'],
'Port' => ['description' => 'The port number used by the ECS instances in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22'],
],
'required' => false,
],
'required' => true,
'maxItems' => 100,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the ALB server group is detached from the scaling group and the existing ECS instances are removed from the ALB server group. This parameter has a return value only if you set `ForceDetach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'title' => 'DetachAlbServerGroups',
'summary' => 'Detaches Application Load Balancer (ALB) server groups from a scaling group. When you call the DetachAlbServerGroups operation, you can specify the scaling group ID, ALB server group ID, and port used by Elastic Compute Service (ECS) instances in the desired ALB server group to detach one or more ALB server groups from your scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachAlbServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'DetachDBInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'none',
'abilityTreeCode' => '125376',
'abilityTreeNodes' => ['FEATUREessJZ6DNF'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'],
],
[
'name' => 'ForceDetach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'DBInstances',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3**** '."\n"],
'required' => true,
'maxItems' => 5,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
[
'name' => 'RemoveSecurityGroup',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the security group. This parameter takes effect only if you set `AttachMode` to `SecurityGroup`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'DetachDBInstances',
'summary' => 'Detaches one or more ApsaraDB RDS instances from a scaling group. If you want to decrease the number of ApsaraDB RDS instances attached to your scaling group, you can call the DetachDBInstance operation. This operation liberates ApsaraDB RDS instances from your scaling group, thereby significantly boosting the agility and efficiency in managing and allocating your resources.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'ess:DetachDBInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DetachInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125382',
'abilityTreeNodes' => ['FEATUREessDFX5TO'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'],
],
[
'name' => 'DecreaseDesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to adjust the expected number of instances in the scaling group. Valid values:'."\n"
."\n"
.'* true: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group decreases.'."\n"
.'* false: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group remains unchanged.'."\n"
."\n"
.'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
'name' => 'DetachOption',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to detach the ECS instances or elastic container instances that are marked for removal from the associated load balancers, and whether to remove the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n"
."\n"
.'Both: detaches the ECS instances or elastic container instances that are marked for removal from the associated load balancers and removes the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n"
."\n"
.'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'both'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances, elastic container instances, or Aliababa Cloud-managed third-party instances that you want to remove from a scaling group.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ECS instance, elastic container instance, or Aliababa Cloud-managed third-party instance that you want to remove from a scaling group.'."\n"
."\n"
.'Examples:'."\n"
."\n"
.'* ECS instance: `i-bp109k5j3dum1ce6****`'."\n"
.'* Elastic container instance: `eci-bp17gw49eu09yiwm****`'."\n"
.'* Alibaba Cloud-hosted third-party instance: `mi-d23fsd******`'."\n"
."\n"
.'> You can remove only one type of instances at a time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'],
'required' => true,
'maxItems' => 100,
],
],
[
'name' => 'LifecycleHook',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to trigger a lifecycle hook for scale-in purposes when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'IgnoreInvalidInstance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n"
."\n"
.'* true: ignores invalid instances. If invalid instances exist and valid instances are removed from the scaling group, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n"
.'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'errorCodes' => [
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''],
],
],
'title' => 'DetachInstances',
'summary' => 'Removes instances from a scaling group. If an enabled scaling group has no ongoing scaling activities, you can call the DetachInstances operation to remove one or more Elastic Compute Service (ECS) instances, elastic container instances, or Alibaba Cloud-hosted third-party instances from the scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DetachLoadBalancers' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125361',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****'],
],
[
'name' => 'ForceDetach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the load balancer. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'Async',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n"
.'* false: does not detach the CLB instance from the scaling group in an asynchronous manner.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'LoadBalancers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs**** '."\n"],
'required' => true,
'maxItems' => 5,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity. The value of this parameter is returned only if you set the Async parameter to true. You can call the describescalingactivities operation to query all scaling activity IDs and use the scaling activity IDs to check the status of the scaling activities.'."\n", 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
],
],
],
'title' => 'DetachLoadBalancers',
'summary' => 'Detaches Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instances from a scaling group. If the current CLB instance no longer meets your business requirements, you can call the DetachLoadBalancers operation to detach it from your scaling group. When you call this operation, you can use ScalingGroupId, LoadBalancer.N, and ForceDetach to specify one or more CLB instances to detach. You can also determine whether to call this operation asynchronously and whether to remove the Elastic Compute Service (ECS) instances acting as backend servers from the backend server groups of the CLB instance. You can call this operation to detach only CLB instances from a scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachLoadBalancers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DetachServerGroups' => [
'summary' => 'Remove one or more SLB server groups from a scaling group. Supported server group types include Application Load Balancer (ALB), Network Load Balancer (NLB), and Gateway Load Balancer (GWLB), which can dynamically adjust SLB policies and help improve high availability of the system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '166343',
'abilityTreeNodes' => ['FEATUREess2GK585'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'ForceDetach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group from the server group marked for detachment.'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the server groups.'."\n",
'type' => 'array',
'items' => [
'description' => 'The server groups.'."\n",
'type' => 'object',
'properties' => [
'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-1gv2uidn2msy****', 'title' => ''],
'Type' => ['description' => 'The type of the server group. Valid values:'."\n"
."\n"
.'* ALB'."\n"
.'* NLB'."\n"
.'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''],
'Port' => ['description' => 'The port used by ECS instances or elastic container instances as backend servers of the server group.'."\n"
."\n"
.'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the server group is detached from the scaling group and the existing servers, which are the ECS instances or elastic container instances in the scaling group, are removed from the server group.'."\n"
."\n"
.'> This parameter is returned only if you set `ForceDetach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'DetachServerGroups',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]',
],
'DetachVServerGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125323',
'abilityTreeNodes' => ['FEATUREessJZ6DNF'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'ForceDetach',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the existing instances in the scaling group from the vServer group marked for detachment.'."\n"
."\n"
.'* true: If you set this parameter to `true`, the detachment of the load balancer from the scaling group causes automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n"
.'* false: If you set this parameter to `false`, the detachment of the load balancer from the scaling group does not cause automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
'name' => 'VServerGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of information about the vServer groups marked for detachment.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the vServer groups.'."\n",
'type' => 'object',
'properties' => [
'VServerGroupAttributes' => [
'description' => 'The attributes of the backend vServer group.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the vServer group attributes.'."\n",
'type' => 'object',
'properties' => [
'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****'],
'Port' => ['description' => 'The port number that Auto Scaling employs to incorporate instances into the vServer group. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'],
],
'required' => false,
],
'required' => false,
'maxItems' => 100,
],
'LoadBalancerId' => ['description' => 'The ID of the load balancer to which the vServer group belongs.'."\n"
."\n"
.'> You can detach vServer groups of up to five load balancers from a scaling group in one call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1p90y3ya9h8s62d****'],
],
'required' => false,
],
'required' => true,
'maxItems' => 100,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'DetachVServerGroups',
'summary' => 'Detaches vServer groups from a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups to improve service performance. If the load balancer currently attached to your scaling group is no longer needed to distribute the access traffic to the instances in your scaling group, you can call the DetachVServerGroups operation to detach one or more vServer groups of this load balancer from the scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachVServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'DisableAlarm' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125352',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'AlarmTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****'],
],
'description' => '',
],
],
],
'title' => 'DisableAlarm',
'summary' => 'Disables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you currently do not need an event-triggered task, you can call the DisableAlarm operation to disable it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DisableAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]',
],
'DisableScalingGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125389',
'abilityTreeNodes' => ['FEATUREessUCEVTM'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The request ID.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
],
],
],
'title' => 'DisableScalingGroup',
'summary' => 'Disables a scaling group. If you temporarily do not require a scaling group that is in the Enabled state, you can call the DisableScalingGroup operation to disable it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DisableScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'EnableAlarm' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125397',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'],
],
[
'name' => 'AlarmTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****'],
],
'description' => '',
],
],
],
'title' => 'EnableAlarm',
'summary' => 'Enables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you want to reuse an event-triggered task that is in the Disabled state, you can call the EnableAlarm operation to enable it.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnableAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]',
],
'EnableScalingGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125366',
'abilityTreeNodes' => ['FEATUREessUCEVTM'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp14wlu85wrpchm0****'],
],
[
'name' => 'ActiveScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration that you want to enable in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp1ffogfdauy0nu5****'],
],
[
'name' => 'LaunchTemplateId',
'in' => 'query',
'schema' => ['description' => 'The ID of the launch template that is used by Auto Scaling to create ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****'],
],
[
'name' => 'LaunchTemplateVersion',
'in' => 'query',
'schema' => ['description' => 'The version number of the launch template. Valid values:'."\n"
."\n"
.'* A fixed template version number.'."\n"
.'* Default: The default template version is always used.'."\n"
.'* Latest: The latest template version is always used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances that you want to add to the scaling group after the scaling group is enabled.'."\n"
."\n"
.'Before you add ECS instances to the scaling group, make sure that the instances meet the following requirements:'."\n"
."\n"
.'* The instances must reside in the same region as the scaling group.'."\n"
.'* The instances must be in the Running state.'."\n"
.'* The instances do not belong to another scaling group.'."\n"
.'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n"
.'* If you specify VswitchID for the scaling group, the instances must share the same VPC as the scaling group.'."\n"
.'* If you do not specify VswitchID for the scaling group, the instances must use the classic network.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ECS instance that you want to add to the scaling group after the scaling group is enabled.'."\n"
."\n"
.'Before you add an ECS instance to the scaling group, make sure that the instance meets the following requirements:'."\n"
."\n"
.'* The instance must reside in the same region as the specified scaling group.'."\n"
.'* The instance must be in the Running state.'."\n"
.'* The instance does not belong to another scaling group.'."\n"
.'* The instance is billed on a subscription or pay-as-you-go basis, or the instance is a preemptible instance.'."\n"
.'* If you specify VswitchID for the scaling group, the instance must share the same VPC as the scaling group.'."\n"
.'* If you do not specify VswitchID for the scaling group, the instance must use the classic network.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-283vv**** '."\n"],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'LoadBalancerWeights',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The weights of ECS instances or elastic container instances as backend servers.'."\n"
."\n"
.'Default value: 50.'."\n",
'type' => 'array',
'items' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server.'."\n"
."\n"
.'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'LaunchTemplateOverrides',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the instance types that you want to extend in the launch template.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.'."\n",
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify `LaunchTemplateOverrides.WeightedCapacity` after you specify this parameter.'."\n"
."\n"
.'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n"
."\n"
.'> This parameter takes effect only if you specify LaunchTemplateId.'."\n"
."\n"
.'You can use this parameter to specify any instance types that are available for purchase.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge'],
'WeightedCapacity' => ['description' => 'The weight of the instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n"
."\n"
.'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n"
."\n"
.'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n"
."\n"
.'Example:'."\n"
."\n"
.'* Current capacity: 0'."\n"
.'* Expected capacity: 6'."\n"
.'* Capacity of ecs.c5.xlarge: 4'."\n"
."\n"
.'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n"
."\n"
.'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n"
."\n"
.'Valid values of WeightedCapacity: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'],
],
'required' => false,
],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'EnableScalingGroup',
'summary' => 'Enables a scaling group. If a scaling group is in the Disabled state and contains an instance configuration source such as a launch template or a scaling configuration, you can call the EnableScalingGroup operation to enable the scaling group. This operation permits Auto Scaling to dynamically adjust the computing power (also known as the number of instances) in the scaling group based on your business requirements.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnableScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'EnterStandby' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125322',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'],
'required' => true,
'maxItems' => 20,
],
],
[
'name' => 'Async',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to asynchronously put the ECS instance into the Standby state. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'],
],
'description' => '',
],
],
],
'title' => 'EnterStandby',
'summary' => 'Puts an Elastic Compute Service (ECS) instance into the Standby state.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnterStandby',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]',
],
'ExecuteScalingRule' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125340',
'abilityTreeNodes' => ['FEATUREessKCZYL8'],
],
'parameters' => [
[
'name' => 'ScalingRuleAri',
'in' => 'query',
'schema' => ['description' => 'The unique identifier of the scaling rule.'."\n"
."\n"
.'> You can call this operation to execute simple scaling rules and step scaling rules. If you want to call this operation to execute a step scaling rule, you must specify `BreachThreshold` and `MetricValue`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
'name' => 'BreachThreshold',
'in' => 'query',
'schema' => ['description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'],
],
[
'name' => 'MetricValue',
'in' => 'query',
'schema' => ['description' => 'The metric value specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp13o672yeautiil****'],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'title' => 'ExecuteScalingRule',
'summary' => 'Executes a scaling rule. To adjust the number of Elastic Compute Service (ECS) instances or elastic container instances, you can manually execute a scaling rule or enable Auto Scaling to execute a scaling rule. You can call the ExecuteScalingRule operation to execute simple scaling rules or step scaling rules. Auto Scaling automatically executes target tracking scaling rules and predictive scaling rules on your behalf without requiring explicit execution calls.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ExecuteScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'ExitStandby' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125359',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the ECS instance. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'],
'required' => true,
'maxItems' => 20,
],
],
[
'name' => 'Async',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove the instance from the Standby state in an asynchronous manner. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'],
],
'description' => '',
],
],
],
'title' => 'ExitStandby',
'summary' => 'Removes an instance from the Standby state. When a scale-in event is triggered in a scaling group, Auto Scaling does not remove Elastic Compute Service (ECS) instances or elastic container instances that are in the Standby state from the scaling group. If you want to restart the instances that are in the Standby state, you can call the ExitStandby operation to remove the instances from the Standby state and put them into the In Service state.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ExitStandby',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]',
],
'ListTagKeys' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREess7569XW'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the Auto Scaling resources. Set the value to `scalinggroup`. This means the tag key you want to query is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'Keys' => [
'description' => 'Details of the tag keys.'."\n",
'type' => 'array',
'items' => ['description' => 'Details of the tag keys.'."\n", 'type' => 'string', 'example' => 'ESS', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": [\\n \\"ESS\\"\\n ]\\n}","type":"json"}]',
'title' => 'ListTagKeys',
'summary' => 'Queries the tag keys added to Auto Scaling resources. Querying tag keys facilitates easier classification, identification, and monitoring of your Auto Scaling resources, thereby enhancing the flexibility and convenience of your resource management processes.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagKeys',
'authLevel' => '',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'operationType' => 'read',
],
'ListTagResources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '125324',
'abilityTreeNodes' => ['FEATUREess7569XW'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~2679950~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that determines the start point of the next query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'],
],
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => ' asg-bp17xb4x1vr29lgt****'],
'required' => false,
'maxItems' => 51,
],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Details of the tags.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the tags.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of the tag. The key is used to perform an exact match of Auto Scaling resources. The key must be 1 to 128 characters in length.'."\n"
."\n"
.'`Tags` is used to perform an exact match of Auto Scaling resources to which the specified tags are added. Specify a tag in the key-value pair format.'."\n"
."\n"
.'* If you specify only `Tags.Key`, all resources whose tags contain the specified tag key are returned.'."\n"
.'* If you specify only `Tags.Value`, the `MissingParameter.TagKey` error is reported.'."\n"
.'* If you specify multiple key-value pairs at the same time, only Auto Scaling resources that match all the tag keys and tag values are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'],
'Value' => ['description' => 'The value of the tag. The value is used to perform an exact match of Auto Scaling resources. The value can be up to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'],
],
'required' => false,
],
'required' => false,
'maxItems' => 21,
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.'."\n",
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that determines the start point of the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****'],
'TagResources' => [
'description' => 'An array that encompasses both the resource details and its tags, comprising elements like the resource ID, the resource type, the tag key, and the tag value.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the resource and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n",
'type' => 'object',
'properties' => [
'TagValue' => ['description' => 'The tag value of the resource.'."\n", 'type' => 'string', 'example' => 'TestValue'],
'ResourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'ALIYUN::ESS::SCALINGGROUP'],
'ResourceId' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'asg-bp17xb4x1vr29lgt****'],
'TagKey' => ['description' => 'The tag key of the resource.'."\n", 'type' => 'string', 'example' => 'TestKey'],
'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n"
."\n"
.'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n"
.'* false: The tags of the scaling group cannot be propagated to instances.'."\n", 'type' => 'boolean', 'example' => 'false'],
],
],
],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n}","type":"json"}]',
'title' => 'ListTagResources',
'summary' => 'Queries tags. You can call the ListTagResources operation to query tags that are added to Auto Scaling resources, thereby clarifying resource utilization and facilitating efficient resource management. This operation aids in the automation of resource categorization and permission management processes.',
'description' => '* Specify at least one of the following request parameters: `ResourceIds` and `Tags`. `Tags.Key` and `Tags.Value` are used to specify the query objects.'."\n"
.'* If you provide both `ResourceIds` and `Tags` in your request, the response will exclusively include Auto Scaling resources that satisfy the criteria set by these parameters, ensuring targeted and precise information retrieval.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ListTagValues' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREess7569XW'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup. This indicates that the tag is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'Key',
'in' => 'query',
'schema' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ESS', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'Values' => [
'description' => 'Details of the tag values.'."\n",
'type' => 'array',
'items' => ['description' => 'Details of the tag values.'."\n", 'type' => 'string', 'example' => 'Doc', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": [\\n \\"Doc\\"\\n ]\\n}","type":"json"}]',
'title' => 'ListTagValues',
'summary' => 'Queries the tag keys associated with Auto Scaling resources to facilitate a deeper comprehension of those resources. By doing so, you can categorize and manage your Auto Scaling resources more efficiently.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagValues',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'operationType' => 'read',
],
'ModifyAlarm' => [
'summary' => 'Modifies an event-triggered task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125348',
'abilityTreeNodes' => ['FEATUREessBFLAJQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'AlarmTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'alarmtask****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The name of the metric. The valid values vary based on the metric type.'."\n"
."\n"
.'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n"
."\n"
.'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n"
."\n"
.' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n"
.' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n"
.' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n"
.' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n"
.' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n"
.' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n"
.' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n"
.' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n"
.' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n"
.' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n"
.' * LoadAverage: the average system load of an agent.'."\n"
.' * TcpConnection: the total number of TCP connections of an agent.'."\n"
.' * TcpConnection: the number of established TCP connections of an agent.'."\n"
.' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n"
.' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n"
.' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n"
.' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n"
."\n"
.'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'MemoryUtilization', 'title' => ''],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The metric type. Valid Values:'."\n"
."\n"
.'* system: a system metric of CloudMonitor.'."\n"
.'* custom: a custom metric that is reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''],
],
[
'name' => 'Period',
'in' => 'query',
'schema' => ['description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
],
[
'name' => 'Statistics',
'in' => 'query',
'schema' => ['description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n"
."\n"
.'* Average'."\n"
.'* Minimum'."\n"
.'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''],
],
[
'name' => 'Threshold',
'in' => 'query',
'schema' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80', 'title' => ''],
],
[
'name' => 'ComparisonOperator',
'in' => 'query',
'schema' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n"
."\n"
.'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n"
.'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n"
.'* If the metric value is greater than the threshold, set the value to `>`.'."\n"
.'* If the metric value is less than the threshold, set the value to `<`.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''],
],
[
'name' => 'EvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
],
[
'name' => 'GroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''],
],
[
'name' => 'Effective',
'in' => 'query',
'schema' => ['description' => 'The effective period of the event-triggered task.'."\n"
."\n"
.'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n"
."\n"
.'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n"
.'* ?: No value is specified.'."\n"
."\n"
.'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n"
."\n"
.'Examples:'."\n"
."\n"
.'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n"
.'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n"
.'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''],
],
[
'name' => 'AlarmActions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n",
'type' => 'array',
'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'Dimensions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The metric dimensions.'."\n",
'type' => 'array',
'items' => [
'description' => 'The dimension of the metric.'."\n",
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of dimension N that you want to associate with the metric. The valid values of Dimension.N.DimensionKey vary based on the value of MetricType.'."\n"
."\n"
.'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n"
."\n"
.'* If you set MetricType to system, this parameter has the following valid values:'."\n"
."\n"
.' * user_id: the ID of your Alibaba Cloud account.'."\n"
.' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n"
.' * device: the NIC type.'."\n"
.' * state: the status of the TCP connection.'."\n"
.' * rulePool: the specified server group for the ALB qps metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''],
'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n"
."\n"
.'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n"
."\n"
.'* If you set MetricType to system, Dimension.N.DimensionValue has the following valid values:'."\n"
."\n"
.' * user_id: The system specifies the value.'."\n"
."\n"
.' * scaling_group: The system specifies the value.'."\n"
."\n"
.' * device:'."\n"
."\n"
.' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n"
.' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n"
."\n"
.' * state:'."\n"
."\n"
.' * TCP_TOTAL specifies the total number of TCP connections.'."\n"
.' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'Expressions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n",
'type' => 'object',
'properties' => [
'MetricName' => ['description' => 'The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n"
."\n"
.'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n"
."\n"
.'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n"
."\n"
.' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n"
.' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n"
.' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n"
.' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n"
.' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n"
.' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n"
.' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n"
.' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n"
.' * GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n"
.' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n"
.' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n"
.' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n"
.' * LoadAverage: the average system load of an agent.'."\n"
.' * TcpConnection: the total number of TCP connections of an agent.'."\n"
.' * TcpConnection: the number of established TCP connections of an agent.'."\n"
.' * PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.'."\n"
.' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n"
.' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n"
.' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n"
."\n"
.'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''],
'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n"
."\n"
.'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n"
.'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n"
.'* If the metric value is greater than the threshold, set the value to `>`.'."\n"
.'* If the metric value is less than the threshold, set the value to `<`.'."\n"
."\n"
.'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''],
'Period' => ['description' => 'The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n"
."\n"
.'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
'Statistics' => ['description' => 'The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* Average'."\n"
.'* Minimum'."\n"
.'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''],
'Threshold' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'ExpressionsLogicOperator',
'in' => 'query',
'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n"
."\n"
.'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n"
.'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n"
."\n"
.'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'ModifyAlarm',
'description' => '- 如果您创建自定义监控类型的报警任务(MetricType=custom),您需要先将自定义监控项指标上报到云监控。具体操作,请参见[自定义监控报警任务](~~74861~~)。'."\n"
.'- 创建报警任务时,您需要指定监控项(MetricName),并配合维度信息(Dimension.N.DimensionKey和Dimension.N.DimensionValue),来确定伸缩组中该监控项数据的聚合范围。例如,指定user_id和scaling_group来确定聚合该用户、该伸缩组下所有ECS实例或ECI实例的监控项数据。'."\n"
.' - 自定义监控报警任务(MetricType=custom)的监控项取决于您自有的监控指标。'."\n"
.' - 系统监控报警任务(MetricType=system)支持的监控项的更多信息,请参见[系统监控报警任务](~~74854~~)。'."\n"
."\n\n"
.'> 维度信息中,user_id和scaling_group由系统自动填充,device、state需要您手动指定。更多信息,请参见参数`Dimension.N.DimensionKey`和`Dimension.N.DimensionValue`。',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]',
],
'ModifyAlertConfiguration' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '208812',
'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessLTO4TI'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'],
],
[
'name' => 'ScaleStatuses',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The status of the scaling activities that prompt text message or email notifications.'."\n",
'type' => 'array',
'items' => ['description' => 'The status of the scaling activity that prompts text message or email notifications. Valid values:'."\n"
."\n"
.'* ScaleSuccessful: The scaling activity is successful.'."\n"
.'* ScaleRejected: The scaling activity is rejected.'."\n"
.'* ScaleFailed: The scaling activity failed.'."\n"
."\n"
.'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleSuccessful'],
'required' => false,
'maxItems' => 10,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'ModifyAlertConfiguration',
'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyAlertConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ModifyEciScalingConfiguration' => [
'summary' => 'Modifies a scaling configuration of the Elastic Container Instance type. When you call the ModifyEciScalingConfiguration operation, you can specify the ID, name, and instance properties of the scaling configuration whose information you want to modify. You can modify the instance restart policy, instance bidding policy, and elastic IP address (EIP) bandwidth.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125345',
'abilityTreeNodes' => ['FEATUREessT4M3WE'],
],
'parameters' => [
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''],
],
[
'name' => 'ScalingConfigurationName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n"
."\n"
.'The name of a scaling configuration must be unique in the specified region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test-modify', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'desc', 'title' => ''],
],
[
'name' => 'SecurityGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n"
."\n"
.'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''],
],
[
'name' => 'ContainerGroupName',
'in' => 'query',
'schema' => ['description' => 'The name series of elastic container instances. Naming conventions:'."\n"
."\n"
.'* The name must be 2 to 128 characters in length.'."\n"
.'* The name can contain only lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'nginx-test', 'title' => ''],
],
[
'name' => 'RestartPolicy',
'in' => 'query',
'schema' => ['description' => 'The instance restart policy. Valid values:'."\n"
."\n"
.'* Always: always restarts elastic container instances.'."\n"
.'* Never: never restarts elastic container instances.'."\n"
.'* OnFailure: restarts elastic container instances upon failures.'."\n"
."\n"
.'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
],
[
'name' => 'Cpu',
'in' => 'query',
'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''],
],
[
'name' => 'Memory',
'in' => 'query',
'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''],
],
[
'name' => 'DnsPolicy',
'in' => 'query',
'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n"
."\n"
.'* None: uses the DNS that is specified by DnsConfig.'."\n"
.'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''],
],
[
'name' => 'EnableSls',
'in' => 'query',
'schema' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ImageSnapshotId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''],
],
[
'name' => 'RamRoleName',
'in' => 'query',
'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''],
],
[
'name' => 'TerminationGracePeriodSeconds',
'in' => 'query',
'schema' => ['description' => 'The buffer period during which the program handles operations before the program is stopped. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'AutoMatchImageCache',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically match image caches.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'ActiveDeadlineSeconds',
'in' => 'query',
'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n"
."\n"
.'* NoSpot: The instances are created as pay-as-you-go instances.'."\n"
.'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n"
.'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n"
."\n"
.'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotPriceLimit', 'title' => ''],
],
[
'name' => 'SpotPriceLimit',
'in' => 'query',
'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n"
."\n"
.'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''],
],
[
'name' => 'AutoCreateEip',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'EipBandwidth',
'in' => 'query',
'schema' => ['description' => 'The EIP bandwidth.'."\n"
."\n"
.'Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'IngressBandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''],
],
[
'name' => 'EgressBandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''],
],
[
'name' => 'CpuOptionsCore',
'in' => 'query',
'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''],
],
[
'name' => 'CpuOptionsThreadsPerCore',
'in' => 'query',
'schema' => ['description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'EphemeralStorage',
'in' => 'query',
'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of the PL1 type is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''],
],
[
'name' => 'LoadBalancerWeight',
'in' => 'query',
'schema' => ['description' => 'The load balancing weight of each backend server. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'ImageRegistryCredentials',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The image repositories.'."\n",
'type' => 'array',
'items' => [
'description' => 'The image repository.'."\n",
'type' => 'object',
'properties' => [
'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpaasword', 'title' => ''],
'Server' => ['description' => 'The address of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''],
'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 11,
'title' => '',
'example' => '',
],
],
[
'name' => 'Containers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The container.'."\n",
'type' => 'object',
'properties' => [
'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur for a failed readiness probe to be considered successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'SecurityContext.Capability.Adds' => [
'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permissions that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''],
'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a readiness probe. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'LivenessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive liveness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'Ports' => [
'description' => 'The ports.'."\n",
'type' => 'array',
'items' => [
'description' => 'The port.'."\n",
'type' => 'object',
'properties' => [
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system is read-only. Set the value to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'EnvironmentVars' => [
'description' => 'The environment variables.'."\n",
'type' => 'array',
'items' => [
'description' => 'The environment variable.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''],
'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 301,
'title' => '',
'example' => '',
],
'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'Tty' => ['description' => 'Specifies whether to enable Interaction. Default value: false.'."\n"
."\n"
.'If the command is a /bin/bash command, set this parameter to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''],
'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a liveness probe. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''],
'Args' => [
'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Memory' => ['description' => 'The memory size per container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''],
'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''],
'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''],
'LivenessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'VolumeMounts' => [
'description' => 'The volume mounts of the container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume mount of the container.'."\n",
'type' => 'object',
'properties' => [
'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n"
.'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''],
'MountPath' => ['description' => 'The directory within the container onto which you want to mount the volume.'."\n"
."\n"
.'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data '."\n", 'title' => ''],
'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Name' => ['description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''],
'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'LivenessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a liveness probe to be considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'ReadinessProbe.Exec.Commands' => [
'description' => 'The commands executed in the container when using the command line to perform the health check.',
'type' => 'array',
'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a readiness probe to be considered failed.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n"
."\n"
.'* Always: Image pulling is performed each time instances are created.'."\n"
.'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n"
.'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions when StdinOnce is set to true.'."\n"
."\n"
.'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25 '."\n", 'title' => ''],
'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''],
'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''],
'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur to consider a failed liveness probe successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive readiness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'Commands' => [
'description' => 'The commands that you can run in the container when you use the CLI to perform a liveness probe.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you can run in the container when you use the CLI to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''],
'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''],
'LivenessProbe.Exec.Commands' => [
'description' => 'The command executed in the container when using the command line to perform the health check.',
'type' => 'array',
'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''],
'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''],
'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the postStart callback function. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''],
'LifecyclePostStartHandlerExecs' => [
'description' => 'The commands that you can run within the container to configure the postStart callback function.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you can run within the container to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''],
'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the preStop callback function. Valid values:'."\n"
."\n"
.'* HTTP'."\n"
.'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'LifecyclePreStopHandlerExecs' => [
'description' => 'The commands that you can run within the container to configure the preStop callback function.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you can run within the container to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'Volumes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The volumes.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume.'."\n",
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EmptyDirVolume', 'title' => ''],
'DiskVolume.DiskSize' => ['description' => 'The volume size. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''],
'NFSVolume.Path' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''],
'FlexVolume.FsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''],
'DiskVolume.FsType' => ['description' => 'We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''],
'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''],
'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/name '."\n", 'title' => ''],
'FlexVolume.Options' => ['description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n"
."\n"
.'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''],
'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''],
'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''],
'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-n****.cn-shanghai.nas.aliyuncs.com', 'title' => ''],
'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''],
'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1'."\n", 'title' => ''],
'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the emptyDir volume stores data in the file system of a node. A value of memory specifies that the emptyDir volume stores data in the memory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory '."\n", 'title' => ''],
'ConfigFileVolumeConfigFileToPath' => [
'description' => 'The paths to the configuration files.'."\n",
'type' => 'array',
'items' => [
'description' => 'The path to the configuration file.'."\n",
'type' => 'object',
'properties' => [
'Path' => ['description' => 'The relative path to the configuration file.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''],
'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''],
'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 90,
'title' => '',
'example' => '',
],
'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
],
[
'name' => 'InitContainers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The init containers.'."\n",
'type' => 'array',
'items' => [
'description' => 'The init container.'."\n",
'type' => 'object',
'properties' => [
'InitContainerEnvironmentVars' => [
'description' => 'The environment variables of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The environment variable of the init container.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''],
'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 301,
'title' => '',
'example' => '',
],
'SecurityContext.Capability.Adds' => [
'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n",
'type' => 'array',
'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n"
."\n"
.'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''],
'InitContainerPorts' => [
'description' => 'The ports of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The port of the init container.'."\n",
'type' => 'object',
'properties' => [
'Protocol' => ['description' => 'The protocol type. Valid values:'."\n"
."\n"
.'* TCP'."\n"
.'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'InitContainerVolumeMounts' => [
'description' => 'The volume mounts of the init container.'."\n",
'type' => 'array',
'items' => [
'description' => 'The volume mount of the init container.'."\n",
'type' => 'object',
'properties' => [
'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n"
."\n"
.'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n"
.'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n"
.'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n"
."\n"
.'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''],
'MountPath' => ['description' => 'The directory within the init container onto which you want to mount the volume.'."\n"
."\n"
.'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/'."\n", 'title' => ''],
'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false '."\n", 'title' => ''],
'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''],
'SubPath' => ['description' => 'The volume subdirectory. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'SecurityContext.ReadOnlyRootFilesystem' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n"
."\n"
.'* Always: Image pulling is performed each time instances are created.'."\n"
.'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n"
.'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''],
'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''],
'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''],
'Commands' => [
'description' => 'The commands that you can run to start the init container.'."\n",
'type' => 'array',
'items' => ['description' => 'The command that you can run to start the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'Args' => [
'description' => 'The container startup arguments.'."\n",
'type' => 'array',
'items' => ['description' => 'The container startup argument.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
'SecurityContext.RunAsUser' => ['description' => 'The ID of the user who runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''],
'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''],
'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'DnsConfigNameServers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IP addresses of DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.** '."\n", 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'DnsConfigSearchs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The search domains of DNS servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes '."\n", 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'DnsConfigOptions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'array',
'items' => [
'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n",
'type' => 'object',
'properties' => [
'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''],
'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'HostAliases',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The hosts.'."\n",
'type' => 'array',
'items' => [
'description' => 'The host.'."\n",
'type' => 'object',
'properties' => [
'Ip' => ['description' => 'The IP address that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX '."\n", 'title' => ''],
'Hostnames' => [
'description' => 'The names of the hosts that you want to add.'."\n",
'type' => 'array',
'items' => ['description' => 'The name of the host that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '[\'hehe.com\', \'haha.com\'] '."\n", 'title' => ''],
'required' => false,
'maxItems' => 51,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 101,
'title' => '',
'example' => '',
],
],
[
'name' => 'SecurityContextSysCtls',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The security contexts in which the elastic container instance runs.'."\n",
'type' => 'array',
'items' => [
'description' => 'The security context in which the elastic container instance runs.'."\n",
'type' => 'object',
'properties' => [
'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''],
'Name' => ['description' => 'The variable name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 11,
'title' => '',
'example' => '',
],
],
[
'name' => 'NtpServers',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The endpoints of Network Time Protocol (NTP) servers.'."\n",
'type' => 'array',
'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com '."\n", 'title' => ''],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'AcrRegistryInfos',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The Container Registry Enterprise Edition instances.'."\n",
'type' => 'array',
'items' => [
'description' => 'The Container Registry Enterprise Edition instance.'."\n",
'type' => 'object',
'properties' => [
'Domains' => [
'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n",
'type' => 'array',
'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test '."\n", 'title' => ''],
'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''],
'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'CostOptimization',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'InstanceFamilyLevel',
'in' => 'query',
'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n"
."\n"
.'* EntryLevel: entry level (shared instance type). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n"
.'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n"
.'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''],
],
[
'name' => 'ContainersUpdateType',
'in' => 'query',
'schema' => ['description' => 'The update mode of containers. Valid values:'."\n"
."\n"
.'* RenewUpdate: full update mode. This value takes effect based on the value of Containers in an update request. This value indicates that the previous setting of Containers is overwritten.'."\n"
.'* IncrementalUpdate: incremental update mode. Container matching is performed based on the Container.name value. Only the parameters that are included in the request parameters are updated.'."\n"
."\n"
.'Default value: RenewUpdate.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'RenewUpdate'],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ECS instance types. You can specify up to five instance types.'."\n",
'type' => 'array',
'items' => ['description' => 'The ECS instance type. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'DataCacheBucket',
'in' => 'query',
'schema' => ['description' => 'The bucket in which data caches are stored.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'DataCachePL',
'in' => 'query',
'schema' => ['description' => 'The performance level (PL) of the cloud disk in which data caches are stored. We recommend that you use Enterprise SSDs (ESSDs). Valid values:'."\n"
."\n"
.'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n"
.'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n"
.'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n"
.'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'Default value: PL1.'."\n"
."\n"
.'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''],
],
[
'name' => 'DataCacheProvisionedIops',
'in' => 'query',
'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk in which data caches are stored. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800+50 x *Capacity, 50,000}.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''],
],
[
'name' => 'DataCacheBurstingEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Performance Burst feature for the ESSD AutoPL disk in which data caches are stored. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n"
."\n"
.'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'GpuDriverVersion',
'in' => 'query',
'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n"
."\n"
.'* tesla=470.82.01 (default)'."\n"
.'* tesla=525.85.12'."\n"
."\n"
.'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''],
],
[
'name' => 'Override',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to override existing data. Valid Values:'."\n"
."\n"
.'true false'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''],
],
],
'title' => 'ModifyEciScalingConfiguration',
'description' => '- 如果修改伸缩配置的名称,请注意同一伸缩组下不能存在名称相同的伸缩配置。'."\n"
."\n"
.'- 可以调用[DescribeEciScalingConfigurations](~~459374~~)查询并验证修改结果。',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]',
],
'ModifyInstanceAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '201544',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECS instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'Entrusted',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to allow the scaling group to manage the lifecycles of the manually added ECS instances. Valid values:'."\n"
."\n"
.'* true: allows the scaling group to manage the lifecycles of the manually added ECS instances. The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n"
.'* false: does not allow the scaling group to manage the lifecycles of the manually added ECS instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n"
."\n"
.'> You can specify this parameter only for ECS instances that are manually added to the scaling group.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance IDs.'."\n",
'type' => 'array',
'items' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'],
'required' => false,
'maxItems' => 20,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'ModifyInstanceAttribute',
'summary' => 'Modifies the information of an Elastic Compute Service (ECS) instance. When you call the ModifyInstanceAttribute operation, you can specify attributes such as the instance ID, scaling group ID, and region ID to modify the attributes of an ECS instance in a scaling group. You can modify only the hosting attributes of instances that are manually added to scaling groups.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyInstanceAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'ModifyLifecycleHook' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125362',
'abilityTreeNodes' => ['FEATUREessKFTMD6'],
],
'parameters' => [
[
'name' => 'LifecycleHookId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle hook that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp1fxuqyi98w0aib****'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'LifecycleHookName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle hook that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test_SCALE_IN'],
],
[
'name' => 'DefaultResult',
'in' => 'query',
'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook ends. Valid values:'."\n"
."\n"
.'* CONTINUE: Auto Scaling continues to respond to scaling requests.'."\n"
.'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n"
."\n"
.'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for the lifecycle hook that you want to modify, Auto Scaling immediately performs the action after the lifecycle hook that you want to modify ends. As a result, other lifecycle hooks end ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks end.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'],
],
[
'name' => 'HeartbeatTimeout',
'in' => 'query',
'schema' => ['description' => 'The period of time before the lifecycle hook ends. Auto Scaling performs the specified action after the lifecycle hook ends. Valid values: 30 to 21600. Unit: seconds.'."\n"
."\n"
.'You can call the RecordLifecycleActionHeartbeat operation to prolong the length of a lifecycle hook. You can also call the CompleteLifecycleAction operation to end a lifecycle hook ahead of schedule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'],
],
[
'name' => 'LifecycleTransition',
'in' => 'query',
'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n"
."\n"
.'* SCALE_OUT'."\n"
.'* SCALE_IN'."\n", 'type' => 'string', 'required' => false, 'example' => 'SCALE_IN'],
],
[
'name' => 'NotificationMetadata',
'in' => 'query',
'schema' => ['description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n"
."\n"
.'Auto Scaling sends the value specified for the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The NotificationMetadata parameter takes effect only after you specify the NotificationArn parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test'],
],
[
'name' => 'NotificationArn',
'in' => 'query',
'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n"
."\n"
.'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n"
.'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n"
.'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n"
.'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of your scaling group.'."\n"
.'* account-id: the ID of your Alibaba Cloud account.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n"
.'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'],
],
[
'name' => 'LifecycleHookStatus',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The status into which you want to put the lifecycle hook. Valid values:'."\n"
."\n"
.'* Active'."\n"
.'* InActive'."\n"
."\n"
.'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n"
."\n"
.'> By default, a lifecycle hook is in the Active state after you create it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'ModifyLifecycleHook',
'summary' => 'Modifies a lifecycle hook. If an existing lifecycle hook does not meet your business requirements anymore, you can call the ModifyLifecycleHook operation to modify the information such as the scaling event, timeout period, and default action of the lifecycle hook. Before you modify a lifecycle hook, you can locate the lifecycle hook by its ID, name, or scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'ModifyNotificationConfiguration' => [
'summary' => 'Modifies event notification rules. Event notification rules support automatic sending of notifications to CloudMonitor, Message Service (MNS) topics, or MNS queues when a specified type of events occur. This helps you learn about the dynamics of your scaling group at the earliest opportunity and further automate resource management. If an existing event notification rule does not meet your business requirements, you can call the ModifyNotificationConfiguration operation to modify the event notification rule, without the need to create a new rule. Take not that you cannot modify the notification method of an event notification rule by calling this operation.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125333',
'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'NotificationArn',
'in' => 'query',
'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n"
."\n"
.'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n"
.'* If you specify a Simple Message Queue (SMQ) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n"
.'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n"
."\n"
.'The variables in the preceding value formats have the following meanings:'."\n"
."\n"
.'* region-id: the region ID of your scaling group.'."\n"
.'* account-id: the ID of your Alibaba Cloud account.'."\n"
.'* queuename: the name of the SMQ queue.'."\n"
.'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''],
],
[
'name' => 'NotificationTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The event types.'."\n",
'type' => 'array',
'items' => ['description' => 'The event type. Valid values:'."\n"
."\n"
.'* AUTOSCALING:SCALE_OUT_SUCCESS: a successful scale-out event'."\n"
.'* AUTOSCALING:SCALE_IN_SUCCESS: a successful scale-in event'."\n"
.'* AUTOSCALING:SCALE_OUT_ERROR: a failed scale-out event'."\n"
.'* AUTOSCALING:SCALE_IN_ERROR: a failed scale-in event'."\n"
.'* AUTOSCALING:SCALE_REJECT: a rejected scaling request'."\n"
.'* AUTOSCALING:SCALE_OUT_START: a started scale-out event'."\n"
.'* AUTOSCALING:SCALE_IN_START: a started scale-in event'."\n"
.'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: an expiring scheduled task'."\n"
.'* SCALING_GROUP_DIAGNOSE: a scaling group diagnosis'."\n"
.'* AUTOSCALING:SCALE_OUT_WARN: a partially successful scale-out event'."\n"
.'* AUTOSCALG:SCALE_IN_WARN: a partially successful scale-in event'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''],
'required' => true,
'maxItems' => 12,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
[
'name' => 'TimeZone',
'in' => 'query',
'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''],
],
[
'name' => 'MessageEncoding',
'in' => 'query',
'schema' => ['description' => 'The codec of the notification message content. Valid values:'."\n"
."\n"
.'- PlainText: No encoding is applied. The content is transmitted as plaintext.'."\n"
.'- Base64: Base64 encoding is applied.'."\n"
."\n"
.'Default Value: Base64. '."\n"
.'> This parameter can be set only for MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'ModifyNotificationConfiguration',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ModifyScalingConfiguration' => [
'summary' => 'Modifies an ECS-type scaling configuration (the ECS instance template for scale-out) by invoking the ModifyScalingConfiguration operation if the current scaling configuration does not meet your business requirements.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125383',
'abilityTreeNodes' => ['FEATUREessT4M3WE'],
],
'parameters' => [
[
'name' => 'ScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''],
],
[
'name' => 'IoOptimized',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the instance is an I/O optimization instance. Valid values:'."\n"
.'- none: The instance is not an I/O optimization instance.'."\n"
.'- optimized: The instance is an I/O optimization instance.', 'type' => 'string', 'required' => false, 'example' => 'none', 'title' => ''],
],
[
'name' => 'SpotStrategy',
'in' => 'query',
'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n"
.' '."\n"
.'- NoSpot: a regular pay-as-you-go instance.'."\n"
.'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n"
.'- SpotAsPriceGo: a spot instance for which the market price at the time of purchase is automatically used as the bid price.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''],
],
[
'name' => 'ScalingConfigurationName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter, digit, or Chinese character.'."\n"
."\n"
.'The name must be unique within a scaling group in the same region. If you do not specify this parameter, the ID of the scaling configuration is used by default.', 'type' => 'string', 'required' => false, 'example' => 'test-modify', 'title' => ''],
],
[
'name' => 'InstanceName',
'in' => 'query',
'schema' => ['description' => 'The name of the ECS instance that is created by automatic creation using the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'inst****', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
'schema' => ['description' => 'The hostname of the Elastic Computing Service server. A period (.) or a hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type: '."\n"
."\n"
.'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) or consist entirely of digits. '."\n"
.'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'hos****', 'title' => ''],
],
[
'name' => 'ImageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the image file used to create instances by automatic creation.'."\n"
."\n"
.'> If the image previously used in the scaling configuration includes both a system cloud disk and data cloud disks, the data cloud disk information is purged after you change the image.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''],
],
[
'name' => 'ImageName',
'in' => 'query',
'schema' => ['description' => 'The name of the image. Image names must be unique within a region. If you set ImageId, ImageName is ignored.'."\n"
."\n"
.'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', 'title' => ''],
],
[
'name' => 'Cpu',
'in' => 'query',
'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n"
."\n"
.'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n"
."\n"
.'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'Memory',
'in' => 'query',
'schema' => ['description' => 'The memory size. Unit: GiB.'."\n"
."\n"
.'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n"
."\n"
.'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''],
],
[
'name' => 'InternetChargeType',
'in' => 'query',
'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n"
."\n"
.'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value. '."\n"
.'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''],
],
[
'name' => 'InternetMaxBandwidthOut',
'in' => 'query',
'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n"
."\n"
.'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'SystemDisk.Category',
'in' => 'query',
'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n"
."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: Enterprise SSD (ESSD).'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
."\n"
.'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, a default value is used. If the instance type belongs to Generation I instance families and the instance is not an I/O optimization instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''],
],
[
'name' => 'SystemDisk.Size',
'in' => 'query',
'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n"
."\n"
.'- Basic cloud disk: 20 to 500.'."\n"
.'- ESSD:'."\n"
.' - PL0: 1 to 2048.'."\n"
.' - PL1: 20 to 2048.'."\n"
.' - PL2: 461 to 2048.'."\n"
.' - PL3: 1261 to 2048.'."\n"
.'- ESSD AutoPL: 1 to 2048.'."\n"
.'- Other cloud disk types: 20 to 2048.'."\n"
."\n"
.'The value of this parameter must be greater than or equal to max{1, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'SystemDisk.DiskName',
'in' => 'query',
'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with http:// or https://. Default value: empty.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''],
],
[
'name' => 'SystemDisk.Description',
'in' => 'query',
'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''],
],
[
'name' => 'SystemDisk.AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''],
],
[
'name' => 'SystemDisk.PerformanceLevel',
'in' => 'query',
'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk type is ESSD. Valid values:'."\n"
."\n"
.'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n"
.'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n"
.'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n"
.'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''],
],
[
'name' => 'LoadBalancerWeight',
'in' => 'query',
'schema' => ['description' => 'The weight of SLB backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''],
],
[
'name' => 'UserData',
'in' => 'query',
'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''],
],
[
'name' => 'KeyPairName',
'in' => 'query',
'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n"
.' '."\n"
.'- For Windows instances, this parameter is ignored and is empty by default. '."\n"
.'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPair_Name', 'title' => ''],
],
[
'name' => 'RamRoleName',
'in' => 'query',
'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the ListRoles operation to query available RAM roles. For more information about how to create a RAM role, see the CreateRole operation.', 'type' => 'string', 'required' => false, 'example' => 'RamRoleTest', 'title' => ''],
],
[
'name' => 'PasswordInherit',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, ensure that a password is configured in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Tags',
'in' => 'query',
'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to Key and Value: '."\n"
.' '."\n"
.'- Key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Key cannot be an empty string. '."\n"
.'- Value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''],
],
[
'name' => 'DeploymentSetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp13v7bjnj9gis****', 'title' => ''],
],
[
'name' => 'SecurityGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can communicate with each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-F876F****', 'title' => ''],
],
[
'name' => 'Override',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to override existing data. Valid values:'."\n"
.'- true: overrides existing data.'."\n"
.'- false: does not override existing data.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd****', 'title' => ''],
],
[
'name' => 'HpcClusterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''],
],
[
'name' => 'InstanceDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''],
],
[
'name' => 'Ipv6AddressCount',
'in' => 'query',
'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'CreditSpecification',
'in' => 'query',
'schema' => ['description' => 'Modifies the running mode of a burstable instance. Valid values:'."\n"
."\n"
.'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [Overview of burstable instances](~~59977~~).'."\n"
."\n"
.'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''],
],
[
'name' => 'ImageFamily',
'in' => 'query',
'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you have set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''],
],
[
'name' => 'ZoneId',
'in' => 'query',
'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''],
],
[
'name' => 'DedicatedHostId',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit parameter settings in the request are automatically ignored when you specify DedicatedHostId.'."\n"
."\n"
.'You can invoke the DescribeDedicatedHosts API operation to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''],
],
[
'name' => 'Affinity',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the instance is associated with a dedicated host. Valid values:'."\n"
."\n"
.'- default: The instance is not associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance is deployed to another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n"
."\n"
.'- host: The instance is associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'Tenancy',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n"
."\n"
.'- default: creates a non-dedicated-host instance.'."\n"
."\n"
.'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
[
'name' => 'SchedulerOptions',
'in' => 'query',
'style' => 'json',
'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''],
],
[
'name' => 'PrivatePoolOptions.MatchCriteria',
'in' => 'query',
'schema' => ['description' => 'The private pool option for instance startup. A private pool is generated after an elasticity assurance or capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n"
."\n"
.'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the public pool is used. You do not need to set PrivatePoolOptions.Id.'."\n"
."\n"
.'- Target: specified mode. The instance is started by using the capacity of a specified private pool. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID. PrivatePoolOptions.Id is required.'."\n"
."\n"
.'- None: no private pool is used. The instance does not use private pool capacity.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''],
],
[
'name' => 'PrivatePoolOptions.Id',
'in' => 'query',
'schema' => ['description' => 'The ID of the private pool. The ID of an elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
],
[
'name' => 'SpotDuration',
'in' => 'query',
'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n"
."\n"
.'- 1: After a spot instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n"
.'- 0: After a spot instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n"
."\n"
.'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. Set the protection period based on the expected task execution duration.'."\n"
."\n"
.'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'SpotInterruptionBehavior',
'in' => 'query',
'schema' => ['description' => 'The interruption pattern of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''],
],
[
'name' => 'DataDisks',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'array',
'items' => [
'description' => 'The collection of data cloud disk information.',
'type' => 'object',
'properties' => [
'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk type is ESSD. Valid values:'."\n"
."\n"
.'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n"
.'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n"
.'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n"
.'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n"
."\n"
.'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''],
'Encrypted' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
."\n"
.'- true: encrypts the disk.'."\n"
.'- false: does not encrypt the disk.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''],
'Description' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''],
'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If you specify this parameter, DataDisk.Size is ignored. The actual size of the created disk is the size of the specified snapshot.'."\n"
."\n"
.'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-snapshot**** '."\n", 'title' => ''],
'Categories' => [
'description' => 'The multiple disk types of the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'> You cannot specify this parameter together with `DataDisk.Category`.',
'type' => 'array',
'items' => ['description' => 'The multiple disk types of the data cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'> You cannot specify this parameter together with `DataDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n"
."\n"
.'- cloud: 5 to 2000.'."\n"
.'- cloud_efficiency: 20 to 32768.'."\n"
.'- cloud_ssd: 20 to 32768.'."\n"
.'- cloud_essd: 20 to 32768.'."\n"
.'- ephemeral_ssd: 5 to 800.'."\n"
."\n"
.'The value of this parameter must be greater than or equal to the size of the snapshot specified by SnapshotId.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the system allocates a mount point by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdd', 'title' => ''],
'DiskName' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData '."\n", 'title' => ''],
'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
.'- ephemeral_ssd: local SSD.'."\n"
.'- cloud_auto: ESSD AutoPL.'."\n"
.'- cloud_regional_disk_auto: regional ESSD.'."\n"
."\n"
.'This parameter cannot be specified together with `DataDisk.Categories`. If neither this parameter nor `DataDisk.Categories` is specified, the default value is used:'."\n"
."\n"
.'- For I/O optimized instances, the default value is cloud_efficiency.'."\n"
."\n"
.'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''],
'DeleteWithInstance' => ['description' => 'Specifies whether the data cloud disk is released when the instance is released. Valid values:'."\n"
."\n"
.'- true: releases the disk when the instance is released.'."\n"
.'- false: retains the disk when the instance is released.'."\n"
."\n"
.'This parameter can be set only for independent cloud disks (DataDisk.Category is set to cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto). Otherwise, an error is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n"
."\n"
.'- true: enabled.'."\n"
.'- false: not enabled.'."\n"
.'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n"
."\n"
.'For more information, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 16,
'title' => '',
'example' => '',
],
],
[
'name' => 'SpotPriceLimits',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about spot instance types.',
'type' => 'array',
'items' => [
'description' => 'The information about spot instance types.',
'type' => 'object',
'properties' => [
'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125 '."\n", 'title' => ''],
'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large '."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n"
."\n"
.'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.',
'type' => 'array',
'items' => ['description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n"
."\n"
.'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstanceTypeOverrides',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about specified instance types.',
'type' => 'array',
'items' => [
'description' => 'The information about specified instance types.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, specify both this parameter and InstanceTypeOverride.WeightedCapacity.'."\n"
."\n"
.'This parameter specifies the instance type. You can specify multiple instance types and use the InstanceTypeOverride.WeightedCapacity parameter to assign custom weights to each type.'."\n"
."\n"
.'> You cannot specify this parameter together with instanceTypes.'."\n"
."\n"
.'Valid values of InstanceType: ECS instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''],
'WeightedCapacity' => ['description' => 'To scale the scaling group based on instance type capacity, specify this parameter after specifying LaunchTemplateOverride.InstanceType.'."\n"
."\n"
.'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n"
."\n"
.'Because instance types differ in vCPU count, memory size, and other performance metrics, you can assign different weights to different instance types based on your requirements.'."\n"
."\n"
.'Example:'."\n"
."\n"
.'- Current capacity: 0.'."\n"
.'- Expected number of instances: 6.'."\n"
.'- Capacity of ecs.c5.xlarge: 4.'."\n"
."\n"
.'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n"
."\n"
.'> During a scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n"
."\n"
.'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'SecurityGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the security groups.',
'type' => 'array',
'items' => ['description' => 'The IDs of the security groups.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs**** '."\n", 'title' => ''],
'required' => false,
'maxItems' => 16,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstancePatternInfos',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'array',
'items' => [
'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.',
'type' => 'object',
'properties' => [
'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~).'."\n"
."\n"
.'Note the following information:'."\n"
."\n"
.'- The InstancePatternInfo parameter applies only to scaling groups that use the VPC network type.'."\n"
."\n"
.'- You must specify both InstancePatternInfo.Cores and InstancePatternInfo.Memory.'."\n"
."\n"
.'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling selects the lowest-priced instance type from those that match the InstancePatternInfo parameter values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n"
."\n"
.'- EntryLevel: entry level, which refers to shared instance types. These types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n"
.'- EnterpriseLevel: enterprise level. These types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n"
.'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''],
'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n"
."\n"
.'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''],
'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'Architectures' => [
'description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.'."\n"
."\n"
.'Default value: all architecture types are included.',
'type' => 'array',
'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n"
."\n"
.'- X86: X86 computing.'."\n"
.'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n"
.'- BareMental: ECS Bare Metal Instance server.'."\n"
.'- Arm: Arm computing.'."\n"
."\n"
.'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n"
.'- Exclude: excludes burstable instance types.'."\n"
.'- Include: includes burstable instance types.'."\n"
.'- Required: includes only burstable instance types.'."\n"
."\n"
.'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''],
'ExcludedInstanceTypes' => [
'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes the entire c6 instance family.',
'type' => 'array',
'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n"
."\n"
.'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n"
.'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
'InstanceTypeFamilies' => [
'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.',
'type' => 'array',
'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n"
."\n"
.'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
'GpuSpecs' => [
'description' => 'The GPU type.',
'type' => 'array',
'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'InstanceCategories' => [
'description' => 'The categorization of the instance type. Valid values:'."\n"
.'- General-purpose: general purpose.'."\n"
.'- Compute-optimized: compute optimized.'."\n"
.'- Memory-optimized: memory optimized.'."\n"
.'- Big data: big data.'."\n"
.'- Local SSDs: local SSD.'."\n"
.'- High Clock Speed: high frequency.'."\n"
.'- Enhanced: enhanced.'."\n"
.'- Shared: shared.'."\n"
.'- Compute-optimized with GPU: GPU compute optimized.'."\n"
.'- Visual Compute-optimized: visual compute optimized.'."\n"
.'- Heterogeneous Service: heterogeneous service.'."\n"
.'- Compute-optimized with FPGA: FPGA compute optimized.'."\n"
.'- Compute-optimized with NPU: NPU compute optimized.'."\n"
.'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n"
.'- High Performance Compute: high-performance computing (HPC).',
'type' => 'array',
'items' => ['description' => 'The categorization of the instance type. Valid values:'."\n"
.'- General-purpose: general purpose.'."\n"
.'- Compute-optimized: compute optimized.'."\n"
.'- Memory-optimized: memory optimized.'."\n"
.'- Big data: big data.'."\n"
.'- Local SSDs: local SSD.'."\n"
.'- High Clock Speed: high frequency.'."\n"
.'- Enhanced: enhanced.'."\n"
.'- Shared: shared.'."\n"
.'- Compute-optimized with GPU: GPU compute optimized.'."\n"
.'- Visual Compute-optimized: visual compute optimized.'."\n"
.'- Heterogeneous Service: heterogeneous service.'."\n"
.'- Compute-optimized with FPGA: FPGA compute optimized.'."\n"
.'- Compute-optimized with NPU: NPU compute optimized.'."\n"
.'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n"
.'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'CpuArchitectures' => [
'description' => 'The CPU architectures of the instance. Valid values:'."\n"
."\n"
.'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.',
'type' => 'array',
'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n"
."\n"
.'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n"
."\n"
.'- X86.'."\n"
.'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'PhysicalProcessorModels' => [
'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.',
'type' => 'array',
'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''],
'required' => false,
'maxItems' => 20,
'minItems' => 0,
'title' => '',
'example' => '',
],
'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses per elastic network interface (ENI) of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses per elastic network interface (ENI) of the instance.'."\n"
.'[_single.params.InstancePatternInfos.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''],
'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''],
'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'SystemDiskCategories',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
."\n"
.'> You cannot specify this parameter together with `SystemDisk.Category`.',
'type' => 'array',
'items' => ['description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n"
.'- cloud: basic cloud disk.'."\n"
.'- cloud_efficiency: ultra cloud disk.'."\n"
.'- cloud_ssd: standard SSD.'."\n"
.'- cloud_essd: ESSD.'."\n"
."\n"
.'> You cannot specify this parameter together with `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'Password',
'in' => 'query',
'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n"
."\n"
.'`()~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/'."\n"
."\n"
.'For Windows instances, the password cannot start with a forward slash (/).'."\n"
."\n"
.'> If you specify Password, use HTTPS to send the request to prevent password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''],
],
[
'name' => 'SystemDisk.Encrypted',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n"
."\n"
.'- true: encrypts the disk.'."\n"
.'- false: does not encrypt the disk.'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'SystemDisk.KMSKeyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
],
[
'name' => 'SystemDisk.EncryptAlgorithm',
'in' => 'query',
'schema' => ['description' => 'The encryption algorithm for the system cloud disk. Valid values:'."\n"
."\n"
.'- AES-256.'."\n"
.'- SM4-128.'."\n"
."\n"
.'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''],
],
[
'name' => 'SystemDisk.ProvisionedIops',
'in' => 'query',
'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system disk.'."\n"
."\n"
.'> IOPS (Input/Output Operations Per Second) indicates the number of I/O operations that can be processed per second. It measures the read/write (output/input) capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'SystemDisk.BurstingEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n"
."\n"
.'- true: enabled.'."\n"
.'- false: not enabled. '."\n"
.'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n"
."\n"
.'For more information, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ImageOptions.LoginAsNonRoot',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user user for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~).'."\n"
.'[Manage the logon name of an ECS instance](~~'."\n"
.'[管理ECS实例的登录名](~~388447~~)', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'DeletionProtection',
'in' => 'query',
'schema' => ['description' => 'The release protection property of the instance. Specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, to prevent the instance from being accidentally deleted. Valid values:'."\n"
."\n"
.'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n"
."\n"
.'> This property applies only to pay-as-you-go instances. It prevents instances scaled out by Auto Scaling from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'StorageSetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''],
],
[
'name' => 'StorageSetPartitionNumber',
'in' => 'query',
'schema' => ['description' => 'The maximum number of partitions in the storage set. The value must be an integer that is greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'CustomPriorities',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The custom priorities of ECS instance type and vSwitch combinations.'."\n"
.'>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.'."\n"
."\n"
.'If an instance cannot be created based on the instance type and vSwitch combination with the highest priority, Auto Scaling automatically selects the combination with the next highest priority to create the instance.'."\n"
."\n"
.'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The priorities of the unspecified combinations are determined by the order of vSwitches in the scaling group and the order of instance types in the scaling configuration.'."\n"
.'> - For example, if the vSwitch order in the scaling group is vsw1 and vsw2, the instance type order in the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n"
."\n"
.'> The instance type must be included in the instance type list of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6a.4xlarge', 'title' => ''],
'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
.'> The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'NetworkInterfaces',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of elastic network interfaces (ENIs).',
'type' => 'array',
'items' => [
'description' => 'The elastic network interface (ENI).',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n"
."\n"
.'- Primary: primary ENI.'."\n"
.'- Secondary: secondary ENI.'."\n"
."\n"
.'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''],
'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n"
."\n"
.'- Standard: uses the TCP communication mode.'."\n"
.'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n"
."\n"
.'Default value: Standard.'."\n"
."\n"
.'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''],
'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI. Note the following items:'."\n"
."\n"
.'This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n"
."\n"
.'After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'SecurityGroupIds' => [
'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.',
'type' => 'array',
'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs. Note the following items:'."\n"
."\n"
.'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n"
."\n"
.'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary elastic network interface (ENI).', 'type' => 'string', 'required' => false, 'example' => 'sg-2ze55shrxxxxx', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n"
."\n"
.'- The value cannot exceed the IP address limit for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n"
."\n"
.'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'DedicatedHostClusterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''],
],
[
'name' => 'SecurityOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The security options.',
'type' => 'object',
'properties' => [
'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n"
.'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n"
.'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'HttpEndpoint',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n"
.'- enabled: enabled.'."\n"
.'- disabled: disabled.'."\n"
."\n"
.'Default value: enabled.'."\n"
."\n"
.'> For more information about instance metadata, see [Overview of ECS instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''],
],
[
'name' => 'HttpTokens',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) to access instance metadata. Valid values:'."\n"
."\n"
.'- optional: does not forcefully use the security-hardened mode.'."\n"
.'- required: forcefully uses the security-hardened mode. After you set this value, instance metadata cannot be accessed in normal mode.'."\n"
."\n"
.'Default value: optional.'."\n"
."\n"
.'> For more information about the modes for accessing instance metadata, see [Access mode of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''],
],
[
'name' => 'InternetMaxBandwidthIn',
'in' => 'query',
'schema' => ['description' => 'The maximum inbound bandwidth for public network traffic. Unit: Mbit/s. Valid values:'."\n"
."\n"
.'- If the purchased maximum outbound bandwidth for public network traffic is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n"
.'- If the purchased maximum outbound bandwidth for public network traffic is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'ResourcePoolOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The resource pool policy used when instances are created. After you specify this parameter, note the following items:'."\n"
."\n"
.'- This parameter takes effect only when pay-as-you-go instances are created.'."\n"
."\n"
.'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.',
'type' => 'object',
'properties' => [
'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n"
."\n"
.'- PrivatePoolFirst: private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pools are used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n"
."\n"
.'- PrivatePoolOnly: private pool only. When this strategy is selected, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n"
."\n"
.'- PublicPoolFirst: public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This strategy is in invitational preview and is not available for use.)'."\n"
."\n"
.'- None: does not use a resource pool strategy.'."\n"
."\n"
.'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''],
'PrivatePoolIds' => [
'description' => 'The IDs of private pools, which are the IDs of elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.',
'type' => 'array',
'items' => ['description' => 'The ID of a private pool, which is the ID of an elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'PrivatePoolTags' => [
'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n"
.'Note:'."\n"
.'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n"
.'- Tag matching rule: A private pool must match all specified tags.'."\n"
.'- This parameter cannot be specified together with the PrivatePoolIds parameter.',
'type' => 'array',
'items' => [
'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n"
.'Note:'."\n"
.'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n"
.'- Tag matching rule: A private pool must match all specified tags.'."\n"
.'- This parameter cannot be specified together with the PrivatePoolIds parameter.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''],
'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'InstanceTypeCandidateOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in alternative zones are created and added to the scaling group.',
'type' => 'object',
'properties' => [
'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.5', 'title' => ''],
'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n"
."\n"
.'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n"
.'> The instance type remains unchanged. Only alternative zones are selected. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n"
.'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'AllowCidrBlocks' => [
'description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.',
'type' => 'array',
'items' => ['description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response returned after the scaling configuration is modified.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
'title' => 'Modify an eCS-type scaling configuration',
'description' => '- If you modify the name of a scaling configuration, ensure that no duplicate names exist within the same scaling group.'."\n"
.'- You can bind a primary network interface controller (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned. When you modify a scaling configuration by using one method, the NIC configurations set by the other method are cleared.'."\n"
."\n"
.' - Set the configurations of the primary NIC by using parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount.'."\n"
."\n"
.' - Set the configurations of the primary NIC and secondary NICs by using the NetworkInterfaces parameter. When you use the NetworkInterfaces parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingConfiguration',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ModifyScalingGroup' => [
'summary' => 'Modifies a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can modify scaling groups to adjust your computing power with ease. The computing power refers to the instances that provide the computing capability. When your scaling group cannot meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum, minimum, and expected numbers of instances. This prevents repeated creation and configuration of scaling groups, which saves you a lot of time and resource costs.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125326',
'abilityTreeNodes' => ['FEATUREessXN6KX4'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''],
],
[
'name' => 'ScalingGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''],
],
[
'name' => 'MinSize',
'in' => 'query',
'schema' => ['description' => 'The minimum number of ECS instances or elastic container instances that must be contained in the scaling group. If the total number of instances in the scaling group is less than the value of MinSize, Auto Scaling proactively adds instances to the scaling group to ensure that the total number aligns with the minimum threshold.'."\n"
."\n"
.'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'MaxSize',
'in' => 'query',
'schema' => ['description' => 'The maximum number of ECS instances or elastic container instances that can be contained in the scaling group. If the total number of instances in the scaling group is greater than the value of MaxSize, Auto Scaling proactively removes the surplus instances from the scaling group to restore the total number to match the maximum limit.'."\n"
."\n"
.'The value range of MaxSize is directly correlated with the degree of dependency your business has on Auto Scaling. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check **the maximum number of instances that a single scaling group can contain.**'."\n"
."\n"
.'For example, if a scaling group can contain up to **2,000** instances, the value range of MaxSize is 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '99', 'title' => ''],
],
[
'name' => 'DefaultCooldown',
'in' => 'query',
'schema' => ['description' => 'The cooldown period of the scaling group. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n"
."\n"
.'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''],
],
[
'name' => 'RemovalPolicies',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n"
."\n"
.'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n"
.'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n"
.'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n",
'type' => 'array',
'items' => ['description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n"
."\n"
.'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n"
.'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n"
.'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
],
[
'name' => 'ActiveScalingConfigurationId',
'in' => 'query',
'schema' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''],
],
[
'name' => 'HealthCheckType',
'in' => 'query',
'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not check the health status of instances.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group. Default value: ECS.'."\n"
."\n"
.'> If you want to enable instance health check and load balancer health check at the same time, we recommend that you specify `HealthCheckTypes`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
],
[
'name' => 'LaunchTemplateId',
'in' => 'query',
'schema' => ['description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", 'type' => 'string', 'required' => false, 'example' => ' lt-m5e3ofjr1zn1aw7****', 'title' => ''],
],
[
'name' => 'LaunchTemplateVersion',
'in' => 'query',
'schema' => ['description' => 'The version number of the launch template. Valid values:'."\n"
."\n"
.'* A fixed template version number.'."\n"
.'* Default: The default template version is always used.'."\n"
.'* Latest: The latest template version is always used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''],
],
[
'name' => 'OnDemandBaseCapacity',
'in' => 'query',
'schema' => ['description' => 'The minimum number of pay-as-you-go instances that must be included in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n"
."\n"
.'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
],
[
'name' => 'OnDemandPercentageAboveBaseCapacity',
'in' => 'query',
'schema' => ['description' => 'The expected percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n"
."\n"
.'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'SpotInstanceRemedy',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to supplement preemptible instances. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'CompensateWithOnDemand',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as cost-related issues and insufficient resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'SpotInstancePools',
'in' => 'query',
'schema' => ['description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n"
."\n"
.'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'DesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Auto Scaling maintains the expected number of ECS instances or elastic container instances in the scaling group. Make sure that you adhere to the following rule when specifying this parameter: Value of MaxSize ≥ Value of DesiredCapacity ≥ Value of MinSize'."\n"
."\n"
.'> If you re-enable the Expected Number of Instances feature, you must specify a value for `DesiredCapacity` again.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
],
[
'name' => 'GroupDeletionProtection',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n"
."\n"
.'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n"
.'* false: disables deletion protection for the scaling group.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'MultiAZPolicy',
'in' => 'query',
'schema' => ['description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n"
."\n"
.'* PRIORITY: ECS instances are scaled based on the vSwitch priority. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n"
.'* COST_OPTIMIZED: During a scale-out activity, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price of vCPU. During a scale-in activity, Auto Scaling preferentially removes ECS instances of the instance types that have the highest unit price of vCPU. Auto Scaling preferentially creates preemptible instances when preemptible instance types are specified in the scaling configuration. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n"
."\n"
.'> The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n"
."\n"
.'* BALANCE: ECS instances are evenly distributed across zones that are specified in the scaling group. If ECS instances are unevenly distributed among zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances among the zones.'."\n"
.'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of vSwitches.'."\n"
."\n"
.'This parameter takes effect only when the network type of the scaling group is virtual private cloud (VPC). The specified vSwitches and the scaling group must reside in the same VPC.'."\n"
."\n"
.'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of vSwitches.'."\n"
."\n"
.'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches and the scaling group must reside in the same VPC.'."\n"
."\n"
.'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1oo2a7isyrb8igf****', 'title' => ''],
'required' => false,
'maxItems' => 8,
'title' => '',
'example' => '',
],
],
[
'name' => 'LaunchTemplateOverrides',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the instance types that are extended in the launch template.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n",
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n"
."\n"
.'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n"
."\n"
.'> This parameter takes effect only if you specify LaunchTemplateId.'."\n"
."\n"
.'You can use this parameter to specify any instance types that are available for purchase.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''],
'WeightedCapacity' => ['description' => 'If you want to scale the scaling group based on the instance types, you must specify LaunchTemplateOverrides.InstanceType before you specify this parameter. The two parameters have a one-to-one correspondence.'."\n"
."\n"
.'The weight specifies the capacity of an instance of the specified instance type in the scaling group.'."\n"
."\n"
.'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n"
."\n"
.'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n"
."\n"
.'Sample capacity configurations:'."\n"
."\n"
.'* Current capacity: 0.'."\n"
.'* Expected capacity: 6'."\n"
.'* Capacity of ecs.c5.xlarge: 4'."\n"
."\n"
.'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n"
."\n"
.'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n"
."\n"
.'Valid values of WeightedCapacity: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''],
'SpotPriceLimit' => ['description' => 'The maximum bid price of instance type N that is specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N instance types by using the Extend Launch Template feature. You can specify 1 to 10 memory sizes, indicated by N.'."\n"
."\n"
.'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'MaxInstanceLifetime',
'in' => 'query',
'schema' => ['description' => 'The maximum life span of the instance in the scaling group. Unit: seconds.'."\n"
."\n"
.'Valid values: 86400 to Integer.maxValue. ``You can also set this parameter to 0. A value of 0 indicates that the instance has an unlimited life span in the scaling group.'."\n"
."\n"
.'Default value: null.'."\n"
."\n"
.'> You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''],
],
[
'name' => 'AzBalance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'AllocationStrategy',
'in' => 'query',
'schema' => ['description' => 'The allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances at the same time. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n"
."\n"
.'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''],
],
[
'name' => 'SpotAllocationStrategy',
'in' => 'query',
'schema' => ['description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n"
."\n"
.'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n"
.'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n"
."\n"
.'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''],
],
[
'name' => 'CustomPolicyARN',
'in' => 'query',
'schema' => ['description' => 'The ARN of the custom scaling policy (Function). This parameter takes effect only when you specify CustomPolicy as the first step of the instance removal policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''],
],
[
'name' => 'DisableDesiredCapacity',
'in' => 'query',
'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:'."\n"
."\n"
.'- false: Enables the expected number of instances feature.'."\n"
.'- true: Disables the expected number of instances feature.'."\n"
."\n"
.'> You can set this parameter to true (to disable the expected number of instances feature) only when no scaling activity is currently running in the scaling group. When this feature is disabled, the current DesiredCapacity property of the scaling group is cleared, but the actual number of instances in the scaling group remains unchanged.', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ScalingPolicy',
'in' => 'query',
'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n"
."\n"
.'* recycle: economical mode'."\n"
."\n"
.'* release: release mode'."\n"
."\n"
.'* forcerelease: forced release mode'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** If you set the value to `forcerelease`, Auto Scaling forcibly releases instances that are in the `Running` state during scale-ins. Forced release is equivalent to power outage. If an instance is forcibly released, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n"
."\n"
.'* forcerecycle: forced recycle mode'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** If you set the value to `forcerecycle`, Auto Scaling forcibly shuts down instances that are in the `Running` state during scale-ins. Forced shutdown is equivalent to power outage. If an instance is forcibly shut down, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n"
."\n"
.'ScalingPolicy specifies only the reclaim mode of the scaling group. RemovePolicy of the RemoveInstances operation specifies the manner how instances are removed from the scaling group. For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''],
],
[
'name' => 'HealthCheckTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The health check mode of the scaling group.'."\n"
."\n"
.'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n",
'type' => 'array',
'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n"
."\n"
.'* NONE: Auto Scaling does not check the health status of instances.'."\n"
.'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n"
.'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n"
."\n"
.'Default value: ECS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'StopInstanceTimeout',
'in' => 'query',
'schema' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds. Valid values: 30 to 240.'."\n"
."\n"
.'> '."\n"
."\n"
.'* This parameter takes effect only if you set ScalingPolicy to release.\\'."\n"
.' If you specify this parameter, the system proceeds with the scale-in process only after the period of time specified by StopInstanceTimeout ends. In this case, the scale-in operation continues regardless of whether the ECS instance enters the Stopped state or not.\\'."\n"
.' If you do not specify this parameter, the system proceeds with the scale-in process only after the ECS instance enters the Stopped state. If the ECS instance fails to enter the Stopped state, the scale-in process rolls back, and the scale-in operation is considered as failed.'."\n"
."\n"
.'* When you call the ModifyScalingGroup operation, you can set the value to 0. In this case, the system ignores this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'CapacityOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The capacity options.'."\n",
'type' => 'object',
'properties' => [
'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n"
."\n"
.'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of additional pay-as-you-go instances beyond the minimum required by `OnDemandBaseCapacity` in the scaling group. Valid values: 0 to 100'."\n"
."\n"
.'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
'CompensateWithOnDemand' => ['description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this case, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'PriceComparisonMode' => ['description' => 'The price comparison mode. Valid values:'."\n"
."\n"
.'* PricePerUnit: compares prices based on capacity.'."\n"
."\n"
.' The capacity of instances in a scaling group is determined by the weights of the instance types used. If no weight is specified, the default weight is 1, which specifies that each instance in the scaling group has a capacity of 1.'."\n"
."\n"
.'* PricePerVCpu: compares prices based on the price per vCPU.'."\n"
."\n"
.'Default value: PricePerUnit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'BalanceMode',
'in' => 'query',
'schema' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n"
."\n"
.'* BalancedBestEffort: If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n"
.'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n"
."\n"
.'Default value: BalancedBestEffort.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'],
],
[
'name' => 'AutoRebalance',
'in' => 'query',
'schema' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n"
."\n"
.'* false: Auto rebalancing is disabled for the scaling group.'."\n"
.'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'ModifyScalingGroup',
'description' => '- The following parameters cannot be modified:'."\n"
."\n"
.' - RegionId'."\n"
."\n"
.' - LoadBalancerId'."\n"
."\n"
.' > To modify an SLB instance, use the AttachLoadBalancers and DetachLoadBalancers APIs.'."\n"
."\n"
.' - DBInstanceId'."\n"
."\n"
.' > To modify an RDS instance, use the AttachDBInstances and DetachDBInstances APIs.'."\n"
."\n"
.'- You can invoke this API only when the scaling group status is `Active` or `Inactive`.'."\n"
."\n"
.'- Enabling a new scaling configuration does not affect ECS instances or ECI instances that were created using an earlier scaling configuration and are currently running.'."\n"
."\n"
.'- If MaxSize is modified such that the current number of ECS or ECI instances in the scaling group exceeds MaxSize, the scaling group automatically removes ECS or ECI instances until the instance count equals MaxSize.'."\n"
."\n"
.'- If MinSize is modified such that the current number of ECS or ECI instances in the scaling group falls below MinSize, the scaling group automatically adds ECS or ECI instances until the instance count equals MinSize.'."\n"
."\n"
.'- If DesiredCapacity is set for the scaling group and then modified such that the current number of ECS or ECI instances differs from the new DesiredCapacity, the scaling group automatically adds or removes ECS or ECI instances until the instance count equals DesiredCapacity.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ModifyScalingRule' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125391',
'abilityTreeNodes' => ['FEATUREessRTZKQT'],
],
'parameters' => [
[
'name' => 'ScalingRuleId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling rule that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dvirgwkoowxk7****'],
],
[
'name' => 'ScalingRuleName',
'in' => 'query',
'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 letters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n"
."\n"
.'The name of each scaling rule must be unique under the same account within the same region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****'],
],
[
'name' => 'Cooldown',
'in' => 'query',
'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule.'."\n"
."\n"
.'Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
],
[
'name' => 'MinAdjustmentMagnitude',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances to scale. This parameter takes effect only if you create a simple scaling rule or step scaling rule and set `AdjustmentType` to `PercentChangeInCapacity`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'AdjustmentType',
'in' => 'query',
'schema' => ['description' => 'The adjustment method of the scaling rule. This is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. Valid values:'."\n"
."\n"
.'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n"
.'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n"
.'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity'],
],
[
'name' => 'AdjustmentValue',
'in' => 'query',
'schema' => ['description' => 'The target value specified in the scaling rule. This parameter is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n"
."\n"
.'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n"
.'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n"
.'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'],
],
[
'name' => 'EstimatedInstanceWarmup',
'in' => 'query',
'schema' => ['description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n"
."\n"
.'> Auto Scaling calculates the number of ECS instances that need to be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n"
."\n"
.'Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The predefined metric. This parameter is required only if you create a target tracking scaling rule or predictive scaling rule.'."\n"
."\n"
.'Valid values if you create a target tracking scaling rule:'."\n"
."\n"
.'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n"
.'* MemoryUtilization (recommended): the memory usage.'."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetTx: the average outbound traffic over an internal network.'."\n"
.'* IntranetRx: the average inbound traffic over an internal network.'."\n"
.'* VpcInternetTx: the average outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n"
.'* VpcInternetRx: the average inbound traffic from the Internet to a VPC.'."\n"
.'* LoadBalancerRealServerAverageQps: the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n"
."\n"
.'Valid values if you create a predictive scaling rule:'."\n"
."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetRx: the average inbound traffic over an internal network.'."\n"
.'* IntranetTx: the average outbound traffic over an internal network.'."\n"
."\n"
.'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization'],
],
[
'name' => 'TargetValue',
'in' => 'query',
'schema' => ['description' => 'The target value. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125'],
],
[
'name' => 'DisableScaleIn',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
'name' => 'ScaleInEvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15'],
],
[
'name' => 'ScaleOutEvaluationCount',
'in' => 'query',
'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3'],
],
[
'name' => 'PredictiveScalingMode',
'in' => 'query',
'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n"
."\n"
.'* PredictAndScale: produces predictions and creates prediction tasks.'."\n"
.'* PredictOnly: produces predictions but does not create prediction tasks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale'],
],
[
'name' => 'PredictiveValueBehavior',
'in' => 'query',
'schema' => ['description' => 'Specifies which one of the initial maximum capacity and the predicted value can be used as the maximum value for prediction tasks. Valid values:'."\n"
."\n"
.'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n"
.'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue'],
],
[
'name' => 'PredictiveValueBuffer',
'in' => 'query',
'schema' => ['description' => 'The ratio based on which the predicted value is increased when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'],
],
[
'name' => 'PredictiveTaskBufferTime',
'in' => 'query',
'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'],
],
[
'name' => 'InitialMaxSize',
'in' => 'query',
'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'],
],
[
'name' => 'StepAdjustments',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Details of the step adjustments.'."\n",
'type' => 'array',
'items' => [
'description' => 'Details of the step adjustments.'."\n",
'type' => 'object',
'properties' => [
'MetricIntervalUpperBound' => ['description' => 'The upper limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0'],
'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
'MetricIntervalLowerBound' => ['description' => 'The lower limit that is specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'],
],
'required' => false,
],
'required' => false,
'maxItems' => 20,
],
],
[
'name' => 'AlarmDimensions',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool'],
'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2dxxx'],
],
'required' => false,
],
'required' => false,
'maxItems' => 5,
],
],
[
'name' => 'MetricType',
'in' => 'query',
'schema' => ['description' => 'The metric type. Valid values:'."\n"
."\n"
.'* system: system metrics of CloudMonitor.'."\n"
.'* custom: custom metrics that are reported to CloudMonitor.'."\n"
.'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system'],
],
[
'name' => 'HybridMonitorNamespace',
'in' => 'query',
'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n"
."\n"
.'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'aliyun-test'],
],
[
'name' => 'HybridMetrics',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a'],
'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n"
."\n"
.'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'required' => false, 'example' => '(a+b)/2'],
'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible'],
'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n"
."\n"
.'* Average: calculates the average value of all metric values within a specified interval.'."\n"
.'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n"
.'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average'],
'Dimensions' => [
'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'queue'],
'DimensionValue' => ['description' => 'The value of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testQueue'],
],
'required' => false,
'description' => '',
],
'required' => false,
'maxItems' => 10,
],
],
'required' => false,
'description' => '',
],
'required' => false,
'maxItems' => 100,
],
],
[
'name' => 'AlarmOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The alert attributes.'."\n",
'type' => 'object',
'properties' => [
'Period' => ['description' => 'The statistical period of the metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n"
."\n"
.'* 15'."\n"
.'* 60'."\n"
.'* 120'."\n"
.'* 300'."\n"
.'* 900'."\n"
."\n"
.'> Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
],
'required' => false,
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
],
],
],
'title' => 'ModifyScalingRule',
'summary' => 'Modifies a scaling rule. If an existing scaling rule cannot meet your business requirements, you can call the ModifyScalingRule operation to modify the scaling rule, without the need to create a new one. This streamlines your workflow, enhancing operational efficiency while also contributing to cost optimization by avoiding redundant steps.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'ModifyScheduledTask' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125370',
'abilityTreeNodes' => ['FEATUREessAWW1X1'],
],
'parameters' => [
[
'name' => 'ScheduledTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****'],
],
[
'name' => 'ScheduledTaskName',
'in' => 'query',
'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.'],
],
[
'name' => 'ScheduledAction',
'in' => 'query',
'schema' => ['description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Enter the ID of the scaling rule. To obtain the ID of a scaling rule, go to the scaling rule details page. If you specify `ScheduledAction`, you must select an existing scaling rule for the scheduled task.'."\n"
."\n"
.'> You can specify only one of `ScheduledAction` and `ScalingGroupId`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****'],
],
[
'name' => 'RecurrenceEndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is modified.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-20T16:55Z'],
],
[
'name' => 'LaunchTime',
'in' => 'query',
'schema' => ['description' => 'The point in time at which the scheduled task is triggered. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the point in time at which the scheduled task is modified.'."\n"
."\n"
.'* If you specify the `RecurrenceType` parameter, the task is repeatedly executed at the time point that is specified by the LaunchTime parameter.'."\n"
.'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the point in time that is specified by the LaunchTime parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-18T10:52Z'],
],
[
'name' => 'RecurrenceType',
'in' => 'query',
'schema' => ['description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n"
."\n"
.'* Daily: The scheduled task is executed once every specified number of days.'."\n"
.'* Weekly: The scheduled task is executed on each specified day of the week.'."\n"
.'* Monthly: The scheduled task is executed on each specified day of the month.'."\n"
.'* Cron: The scheduled task is executed based on the specified cron expression.'."\n"
."\n"
.'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Daily'],
],
[
'name' => 'RecurrenceValue',
'in' => 'query',
'schema' => ['description' => 'The number of recurrences of the scheduled task.'."\n"
."\n"
.'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n"
.'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n"
.'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n"
.'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n"
."\n"
.'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2'],
],
[
'name' => 'TaskEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
'name' => 'LaunchExpirationTime',
'in' => 'query',
'schema' => ['description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n"
."\n"
.'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600'],
],
[
'name' => 'MinValue',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
],
[
'name' => 'MaxValue',
'in' => 'query',
'schema' => ['description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'DesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n"
."\n"
.'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group whose number of instances must be modified when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, you must specify the minimum, maximum, or expected numbers of instances for a scaling group in the scheduled task. That is, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n"
."\n"
.'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Throttling', 'errorMessage' => 'Request was denied due to request throttling.', 'description' => ''],
],
],
'title' => 'ModifyScheduledTask',
'summary' => 'Modifies a scheduled task. If an existing scheduled task cannot meet your business requirements, you can call the ModifyScheduledTask operation to adjust its parameter settings including the scaling rule to execute and the boundary values of your scaling group, without the need to create a new scheduled task. This operation provides a flexible way to optimize scheduled tasks.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'QueryHistoricalMetric' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221688',
'abilityTreeNodes' => ['FEATUREessHEBR5R'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n"
."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetRx: the inbound traffic over an internal network.'."\n"
.'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'HistoricalMetrics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'HistoricalMetric' => [
'description' => 'The monitoring metrics of the prediction rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The monitoring metrics of the prediction rule.'."\n",
'type' => 'object',
'properties' => [
'MetricValue' => ['description' => 'The value of the metric.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''],
'Time' => ['description' => 'The point in time of the monitoring metric. The value must be in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'QueryHistoricalMetric',
'summary' => 'Queries the historical monitoring data of a scaling group that uses predictive scaling rules.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryHistoricalMetric',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"HistoricalMetrics\\": {\\n \\"HistoricalMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'QueryPredictiveMetric' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221689',
'abilityTreeNodes' => ['FEATUREessHEBR5R'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z'."\n", 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n"
."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetRx: the inbound traffic over an internal network.'."\n"
.'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', 'title' => ''],
'PredictiveMetrics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'PredictiveMetric' => [
'description' => 'Predicted monitoring metrics.'."\n",
'type' => 'array',
'items' => [
'description' => 'Predicted monitoring metrics.'."\n",
'type' => 'object',
'properties' => [
'MetricValue' => ['description' => 'Predicted monitoring value.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''],
'Time' => ['description' => 'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time must be in UTC.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'QueryPredictiveMetric',
'summary' => 'Queries predicted monitoring data.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveMetric',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PredictiveMetrics\\": {\\n \\"PredictiveMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'QueryPredictiveTaskInfo' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221691',
'abilityTreeNodes' => ['FEATUREessHEBR5R'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''],
],
[
'name' => 'ScalingRuleId',
'in' => 'query',
'schema' => ['description' => 'The ID of the prediction scaling rule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dp8yd9f8xxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'TaskInfos' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'TaskInfo' => [
'description' => 'The scheduled task generated by the prediction rule.'."\n",
'type' => 'array',
'items' => [
'description' => 'The scheduled task generated by the prediction rule.'."\n",
'type' => 'object',
'properties' => [
'Time' => ['description' => 'The point in time at which the scheduled task is triggered. The value follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''],
'MinValue' => ['description' => 'The minimum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MaxValue' => ['description' => 'The maximum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'QueryPredictiveTaskInfo',
'summary' => 'Queries the information about a prediction task.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveTaskInfo',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TaskInfos\\": {\\n \\"TaskInfo\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"MinValue\\": 2,\\n \\"MaxValue\\": 10\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'QueryPredictiveValue' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '221690',
'abilityTreeNodes' => ['FEATUREessHEBR5R'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'StartTime',
'in' => 'query',
'schema' => ['description' => 'The start time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The end time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n"
."\n"
.'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2zee0wsy0zkdxxxxx', 'title' => ''],
],
[
'name' => 'MetricName',
'in' => 'query',
'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n"
."\n"
.'* CpuUtilization: the average CPU utilization.'."\n"
.'* IntranetRx: the inbound traffic over an internal network.'."\n"
.'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''],
],
[
'name' => 'TargetValue',
'in' => 'query',
'schema' => ['description' => 'The current value of the monitoring metric of the prediction rule.'."\n", 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '60', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'FA5F448E-DC84-5EBC-B6D5-F659ADxxxx', 'title' => ''],
'PredictiveValues' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'PredictiveValue' => [
'description' => 'The number of predicted instances in the scaling group.'."\n",
'type' => 'array',
'items' => [
'description' => 'The number of predicted instances in the scaling group.'."\n",
'type' => 'object',
'properties' => [
'Time' => ['description' => 'The point in time, in the ISO 8601 standard, in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''],
'Value' => ['description' => 'The number of instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'QueryPredictiveValue',
'summary' => 'Queries the predicted number of instances in a scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveValue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA5F448E-DC84-5EBC-B6D5-F659ADxxxx\\",\\n \\"PredictiveValues\\": {\\n \\"PredictiveValue\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"Value\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'RebalanceInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125328',
'abilityTreeNodes' => ['FEATUREessPV8ZVU'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-kjgffgdfadah****'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
],
],
],
'title' => 'RebalanceInstances',
'summary' => 'Rebalances the distribution of Elastic Compute Service (ECS) instances across zones. If ECS instances are unevenly distributed across multiple zones, you can call the RebalanceInstances operation to rebalance the distribution of the ECS instances across the zones.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RebalanceInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'RecordLifecycleActionHeartbeat' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125371',
'abilityTreeNodes' => ['FEATUREessKFTMD6'],
],
'parameters' => [
[
'name' => 'lifecycleHookId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp1fxuqyi98w0aib****'],
],
[
'name' => 'lifecycleActionToken',
'in' => 'query',
'schema' => ['description' => 'The action token of the lifecycle hook. You can obtain the token from the details page of the Simple Message Queue (SMQ, formerly MNS) queue specified for the lifecycle hook.'."\n"
."\n"
.'You can also call the [DescribeLifecycleActions](~~459333~~) operation to obtain the action token of the lifecycle hook.'."\n"
."\n"
.'If you specified an SMQ topic for the lifecycle hook, you can obtain the token from the MNS topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F324B880-900E-4968-85DD-81691113****'],
],
[
'name' => 'heartbeatTimeout',
'in' => 'query',
'schema' => ['description' => 'The time window during which the ECS instance stays in a Pending state. When the time window ends, Auto Scaling executes the default action. Valid values: 30 to 21600. Unit: seconds.'."\n"
."\n"
.'After you create a lifecycle hook, you can call this operation to extend the time window during which the ECS instance stays in a Pending state. You can also call the [CompleteLifecycleAction](~~459335~~) operation to remove the ECS instance from the Pending state ahead of schedule.'."\n"
."\n"
.'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'description' => '',
],
],
],
'title' => 'RecordLifecycleActionHeartbeat',
'summary' => 'Extends the time window during which Elastic Compute Service (ECS) instances stay in a Pending state. If the current time window during which an ECS instance stays in a Pending state is not sufficient for you to complete custom operations on the ECS instance, you can call the RecordLifecycleActionHeartbeat operation to extend the time window. When you call this operation, you can specify lifecycleHookId, lifecycleActionToken, and heartbeatTimeout to extend the time window for the desired ECS instance.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RecordLifecycleActionHeartbeat',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
],
'RemoveInstances' => [
'summary' => 'If a scaling group is enabled and has no ongoing scaling activities, you can call the RemoveInstances API to remove one or more instances from the group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '125337',
'abilityTreeNodes' => ['FEATUREessDFX5TO'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'RemovePolicy',
'in' => 'query',
'schema' => ['description' => 'Specifies the action to take on removed ECS instances. Valid values:'."\n"
."\n"
.'- recycle: The ECS instances enter the economical mode.'."\n"
."\n"
.' > This value takes effect only when the `ScalingPolicy` parameter of the scaling group is set to `recycle`.'."\n"
."\n"
.'- release: The ECS instances are released.'."\n"
."\n"
.'The `ScalingPolicy` parameter of the `CreateScalingGroup` operation specifies the reclamation mode of a scaling group. However, the `RemovePolicy` parameter of the `RemoveInstances` operation determines the action taken when an instance is removed. For example:'."\n"
."\n"
.'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `recycle`, the ECS instances enter the economical mode.'."\n"
."\n"
.'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `release`, the ECS instances are released.'."\n"
."\n"
.'- If `ScalingPolicy` is `release` and `RemovePolicy` is `recycle`, the ECS instances are released.'."\n"
."\n"
.'- If `ScalingPolicy` is `release` and `RemovePolicy` is `release`, the ECS instances are released.'."\n"
."\n"
.'Default value: release.', 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''],
],
[
'name' => 'DecreaseDesiredCapacity',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to decrease the desired capacity of the scaling group. Valid values:'."\n"
."\n"
.'- `true`: Decreases the desired capacity of the scaling group by the number of removed instances.'."\n"
."\n"
.'- `false`: The desired capacity of the scaling group remains unchanged.'."\n"
."\n"
.'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'IgnoreInvalidInstance',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to ignore invalid instances when you remove multiple instances from a scaling group. Valid values:'."\n"
."\n"
.'- `true`: Invalid instances are ignored. If valid instances are removed while invalid ones are present, the scaling activity status is set to Warning. The invalid instances are listed in the scaling activity details.'."\n"
."\n"
.'- `false`: The request is rejected and an error is returned if it contains any invalid instances.'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances to remove.',
'type' => 'array',
'items' => ['description' => 'The ID of an ECS instance to remove.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''],
'required' => true,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated token to ensure request idempotence. This token must be unique for each request, contain only ASCII characters, and not exceed 64 characters. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'StopInstanceTimeout',
'in' => 'query',
'schema' => ['description' => 'The timeout period, in seconds, for an ECS instance to stop during a scale-in. Valid values: 30 to 240.'."\n"
."\n"
.'> - By default, this parameter inherits its value from the scaling group, but you can override it when calling the `RemoveInstances` operation.'."\n"
.'>'."\n"
.'> - This parameter takes effect only during scale-in events where `RemovePolicy` is set to `release`.'."\n"
.'>'."\n"
.'> - If this parameter is set, the system waits for the specified duration for the instance to stop. The scale-in process continues after the timeout expires, regardless of the instance\'s state.'."\n"
.'>'."\n"
.'> - If this parameter is not set, the system waits until the instance stops before continuing the scale-in process. If the instance fails to stop, the scale-in operation is rolled back and fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
[
'name' => 'LifecycleHookContext',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The context of the lifecycle hook.',
'type' => 'object',
'properties' => [
'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n"
."\n"
.'- `true`: Disables all lifecycle hooks.'."\n"
."\n"
.'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'IgnoredLifecycleHookIds' => [
'description' => 'A list of lifecycle hook IDs to ignore for the scaling activity.',
'type' => 'array',
'items' => ['description' => 'The ID of a lifecycle hook to ignore for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'IgnoredInstances' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'InstanceId' => ['description' => 'The ID of the instance that was not removed.', 'type' => 'string', 'title' => '', 'example' => ''],
'Code' => ['description' => 'The error code that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''],
'Message' => ['description' => 'The error message that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'description' => 'The instances that were not removed and the reasons why they were not removed.',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => 'RemoveInstances',
'description' => '- Ensure the following conditions are met before you call this API:'."\n"
."\n"
.' - The scaling group is in the Active state.'."\n"
."\n"
.' - The scaling group has no scaling activities in progress.'."\n"
."\n"
.'> This API can bypass the cooldown (`DefaultCooldown`) if the scaling group has no ongoing scaling activities.'."\n"
."\n"
.'- If an ECS instance is automatically created by Auto Scaling, or is manually added and managed by the scaling group, removing the instance from the scaling group places it in Economical Mode or releases it.'."\n"
."\n"
.'- If an ECS instance is manually added and not managed by the scaling group, removing the instance from the group does not stop or release it.'."\n"
."\n"
.'- The call fails if the number of remaining instances would fall below the minimum number of instances (`MinSize`).'."\n"
."\n"
.'A successful response confirms the Auto Scaling service has accepted the request, but does not guarantee the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the execution status of the scaling activity.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ResumeInstanceRefresh' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '234877',
'abilityTreeNodes' => ['FEATUREessPV8ZVU'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'InstanceRefreshTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'ResumeInstanceRefresh',
'summary' => 'Resumes an instance refresh task.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ResumeInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ResumeProcesses' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125388',
'abilityTreeNodes' => ['FEATUREess4ZDI6R'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n"
."\n"
.'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'Processes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Details of the processes that you want to resume.'."\n",
'type' => 'array',
'items' => ['description' => 'The type of the process that you want to resume. Valid values:'."\n"
."\n"
.'* ScaleIn'."\n"
.'* ScaleOut'."\n"
.'* HealthCheck'."\n"
.'* AlarmNotification'."\n"
.'* ScheduledAction'."\n"
."\n"
.'You can resume five processes of the preceding types at the same time. If you try to resume more than five processes at the same time, Auto Scaling automatically removes the duplicate processes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleIn'],
'required' => true,
'maxItems' => 100,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request'."\n", 'type' => 'string', 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****'],
],
'description' => '',
],
],
],
'title' => 'ResumeProcesses',
'summary' => 'Resumes suspended processes in a scaling group. This operation allows Auto Scaling to proceed with executing these processes according to their predefined rules and logic. For example, if you resume the health check process in your scaling group, Auto Scaling automatically detects and removes any instances deemed unhealthy from the scaling group.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ResumeProcesses',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]',
],
'RollbackInstanceRefresh' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '234874',
'abilityTreeNodes' => ['FEATUREessPV8ZVU'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'InstanceRefreshTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]',
'title' => 'RollbackInstanceRefresh',
'summary' => 'Rolls back an instance refresh task. If an instance refresh task cannot meet your business requirements, you can call the RollbackInstanceRefresh operation. When you roll back an instance refresh task, Auto Scaling creates new instances based on the active scaling configuration to replace the instances whose configurations are already updated by running the task.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RollbackInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'ScaleWithAdjustment' => [
'summary' => 'Unlike the ExecuteScalingRule API, you can use the ScaleWithAdjustment API to trigger elastic scaling based on a specified adjustment rule, without first creating a scaling rule.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '125372',
'abilityTreeNodes' => ['FEATUREessSQIS9M'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-j6c1o397427hyjdc****', 'title' => ''],
],
[
'name' => 'AdjustmentType',
'in' => 'query',
'schema' => ['description' => 'The method used to adjust the number of instances in a scaling activity. Valid values:'."\n"
."\n"
.'- `QuantityChangeInCapacity`: Adds or removes a specified number of ECS instances.'."\n"
."\n"
.'- `PercentChangeInCapacity`: Adds or removes a specified percentage of ECS instances.'."\n"
."\n"
.'- `TotalCapacity`: Adjusts the number of ECS instances in the scaling group to a specified number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QuantityChangeInCapacity', 'title' => ''],
],
[
'name' => 'AdjustmentValue',
'in' => 'query',
'schema' => ['description' => 'The adjustment value for the scaling activity. A single adjustment cannot add or remove more than 1,000 ECS instances. The valid range depends on `AdjustmentType`:'."\n"
."\n"
.'- `QuantityChangeInCapacity`: -1000 to 1000.'."\n"
."\n"
.'- `PercentChangeInCapacity`: -100 to 10000.'."\n"
."\n"
.'- `TotalCapacity`: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'isFileTransferUrl' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'MinAdjustmentMagnitude',
'in' => 'query',
'schema' => ['description' => 'The minimum number of instances to adjust in a scaling activity. This parameter takes effect only when `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request. This token must be a unique string of up to 64 ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'SyncActivity',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to execute the scaling activity synchronously. This parameter applies only to scaling groups that are configured with an expected number of instances. Valid values:'."\n"
."\n"
.'- `true`: Synchronous execution. The scaling activity is triggered immediately.'."\n"
."\n"
.'- `false`: Asynchronous execution. The call updates the expected number of instances without immediately triggering the scaling activity. The activity occurs when the system detects a discrepancy between the new expected number and the current number of instances.'."\n"
."\n"
.'> For more information about the expected number of instances, see [Expected number of instances](~~146231~~).'."\n"
."\n"
.'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ParallelTask',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the current scaling activity supports concurrency.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Overrides',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The parameters to override when scaling out an ECI scaling group.',
'type' => 'object',
'properties' => [
'Cpu' => ['description' => 'The number of vCPUs for the instance. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''],
'Memory' => ['description' => 'The memory size for the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
'ContainerOverrides' => [
'description' => 'A list of container-specific overrides.',
'type' => 'array',
'items' => [
'description' => 'Specifies the overrides for a single container.',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The name of the container to override. The override takes effect only if this name matches a container name in the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'container-1', 'title' => ''],
'Args' => [
'description' => 'The arguments for the container\'s startup command. You can specify up to 10 arguments.',
'type' => 'array',
'items' => ['description' => 'A single startup command argument.', 'type' => 'string', 'required' => false, 'example' => 'arg', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'Commands' => [
'description' => 'The container\'s startup command, specified as an array of strings. You can specify up to 20 strings, and each can be up to 256 characters long.',
'type' => 'array',
'items' => ['description' => 'A single string in the command array.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'EnvironmentVars' => [
'description' => 'Environment variables to set in the container.',
'type' => 'array',
'items' => [
'description' => 'A single environment variable, specified as a key-value pair.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. It must be 1 to 128 characters long, cannot start with a digit, and can contain only letters (a-z, A-Z), digits (0-9), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable, up to 256 characters long.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/tomcat', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
'Cpu' => ['description' => 'The number of vCPUs for the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''],
'Memory' => ['description' => 'The memory size for the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
'UserData' => ['description' => 'The user data for the ECS instance. It must be Base64-encoded, and the raw data cannot exceed 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'LifecycleHookContext',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The lifecycle hook context.',
'type' => 'object',
'properties' => [
'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n"
."\n"
.'- `true`: Disables all lifecycle hooks.'."\n"
."\n"
.'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
'IgnoredLifecycleHookIds' => [
'description' => 'A list of lifecycle hook IDs to ignore during the scaling activity.',
'type' => 'array',
'items' => ['description' => 'The ID of a lifecycle hook to ignore.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'ActivityMetadata',
'in' => 'query',
'schema' => ['description' => 'The metadata for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => '{"key":"value"}', 'title' => ''],
],
[
'name' => 'ExecutionMode',
'in' => 'query',
'schema' => ['description' => 'The execution mode. Valid values:'."\n"
."\n"
.'- `None`: Executes a standard scaling activity.'."\n"
."\n"
.'- `PlanOnly`: Only performs elastic planning and returns the results in `PlanResult` without triggering the scaling activity. The results include details such as instance types, availability zones, billing methods, and the number of new instances.'."\n"
."\n"
.'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PlanOnly', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'ActivityType' => ['description' => 'The type of the scaling activity.'."\n"
."\n"
.'If this parameter is set to `CapacityChange`, the scaling activity only adjusts the desired capacity of the scaling group without immediately adding or removing instances.'."\n"
."\n"
.'This setting only affects scaling groups with a configured desired capacity.', 'type' => 'string', 'example' => 'CapacityChange', 'title' => ''],
'PlanResult' => [
'description' => 'The scaling plan result returned when ExecutionMode is set to PlanOnly.',
'type' => 'object',
'properties' => [
'ResourceAllocations' => [
'description' => 'The resource allocation details in the scaling plan result.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ZoneId' => ['description' => 'The availability zone ID.', 'type' => 'string', 'example' => 'cn-beijing-g', 'title' => ''],
'InstanceType' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ecs.u1-c1m8.large', 'title' => ''],
'SpotStrategy' => ['description' => 'The spot strategy of the instance. Valid values:'."\n"
."\n"
.'- NoSpot: A pay-as-you-go instance.'."\n"
."\n"
.'- SpotWithPriceLimit: A spot instance with a user-specified price limit.'."\n"
."\n"
.'- SpotAsPriceGo: A spot instance where the system automatically bids based on the current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''],
'Amount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'InstanceChargeType' => ['description' => 'The billing method of the instance. Valid values:'."\n"
."\n"
.'- **Prepaid**: subscription'."\n"
."\n"
.'- **PostPaid**: pay-as-you-go', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'ScaleWithAdjustment',
'description' => '- Ensure the following conditions are met before calling this operation:'."\n"
."\n"
.' - The scaling group is in the Active state.'."\n"
."\n"
.' - No scaling activities are in progress in the scaling group.'."\n"
."\n"
.'- This operation bypasses the cooldown to immediately execute a scaling activity, provided no other scaling activities are in progress.'."\n"
."\n"
.'- If adding the specified ECS instances would cause the total capacity to exceed the maximum size, Auto Scaling sets the total capacity to the maximum size.'."\n"
."\n"
.'- If removing the specified ECS instances would reduce the total capacity below the minimum size, Auto Scaling sets the total capacity to the minimum size.'."\n"
."\n"
.'A successful response indicates that the API request was accepted, but this does not guarantee that the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the status of the scaling activity.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ScaleWithAdjustment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ActivityType\\": \\"CapacityChange\\",\\n \\"PlanResult\\": {\\n \\"ResourceAllocations\\": [\\n {\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"InstanceType\\": \\"ecs.u1-c1m8.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceChargeType\\": \\"PostPaid\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'SetGroupDeletionProtection' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125350',
'abilityTreeNodes' => ['FEATUREessF87COY'],
],
'parameters' => [
[
'name' => 'GroupDeletionProtection',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n"
."\n"
.'* true: enables deletion protection. In this case, you cannot delete the scaling group by using the Auto Scaling console or calling an API operation. You must disable deletion protection before you can delete the scaling group.'."\n"
.'* false: disables deletion protection.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true'],
],
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7'],
],
'description' => '',
],
],
],
'title' => 'SetGroupDeletionProtection',
'summary' => 'Sets deletion protection for a scaling group. If you enable deletion protection for a scaling group, you cannot delete the scaling group. If you disable deletion protection for a scaling group, you can directly delete the scaling group. You can call the SetGroupDeletionProtection operation to enable or disable deletion protection.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetGroupDeletionProtection',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA738B7\\"\\n}","type":"json"}]',
],
'SetInstanceHealth' => [
'summary' => 'Sets instance health. At times, the automatic health check system might not sufficiently determine the precise health status of your Elastic Compute Service (ECS) instances or elastic container instances. To overcome this, you can call the SetInstanceHealth operation to swiftly pinpoint problematic instances and resolve issues. This operation is designed to more precisely align with real-world business requirements and tackle O\\\\\\&M hurdles efficiently.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125393',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'i-bp1ap6bro51a7fsa****', 'title' => ''],
],
[
'name' => 'HealthStatus',
'in' => 'query',
'schema' => ['description' => 'The health status of the instance. Valid values:'."\n"
."\n"
.'* Healthy: sets the instance as healthy.'."\n"
.'* Unhealthy: sets the instance as unhealthy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Healthy', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', 'title' => ''],
],
'description' => '',
'title' => '',
],
],
],
'title' => 'SetInstanceHealth',
'description' => '伸缩组会检测并移出处于不健康状态的ECS实例或ECI实例,如果您需要保留指定的ECS实例或ECI实例,请将ECS实例或ECI实例转入备用或者保护状态,更多信息,请参见[EnterStandby](~~459345~~)和[SetInstancesProtection](~~459342~~)。',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetInstanceHealth',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]',
],
'SetInstancesProtection' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125377',
'abilityTreeNodes' => ['FEATUREessBFHJ1B'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'ProtectedFromScaleIn',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true'],
],
[
'name' => 'InstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ECS instances.'."\n",
'type' => 'array',
'items' => ['description' => 'The IDs of the ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'],
'required' => true,
'maxItems' => 20,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'title' => 'SetInstancesProtection',
'summary' => 'Puts or removes Elastic Compute Service (ECS) instances into or from the Protected state. After you put an ECS instance into the Protected state, the ECS instance will not be stopped or released when a scale-in event is triggered. In this case, you can manually delete the ECS instance in the Auto Scaling console or by calling the RemoveInstances operation.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetInstancesProtection',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
],
'StartInstanceRefresh' => [
'summary' => 'Refreshes instances in a scaling group when you need to apply a new scaling configuration or update the image of instances in the scaling group.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '234862',
'abilityTreeNodes' => ['FEATUREessPV8ZVU', 'FEATUREess8Q01K5'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'MinHealthyPercentage',
'in' => 'query',
'schema' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh. Valid values: 0 to 100.'."\n"
.'Default value: 80.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
],
[
'name' => 'MaxHealthyPercentage',
'in' => 'query',
'schema' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh. Valid values: 100 to 200.'."\n"
.'Default value: 120.'."\n"
."\n"
.'> When MinHealthyPercentage = MaxHealthyPercentage = 100, one instance is refreshed at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'DesiredConfiguration',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The desired configuration for the instance refresh.'."\n"
."\n"
.'> - You cannot specify ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers at the same time. If this parameter is left empty, the currently active configuration of the scaling group is used for the refresh.'."\n"
.'> - After the instance refresh task is completed, the active scaling configuration of the scaling group is updated to this configuration.',
'type' => 'object',
'properties' => [
'ImageId' => ['description' => 'The image ID.'."\n"
."\n\n"
."\n"
.'> - After the instance refresh task is completed, the image in the currently active configuration of the scaling group is updated to this image.'."\n"
.'> - This parameter is not supported when the instance configuration source of the scaling group is a launch template.'."\n"
.'> - Images that contain data cloud disks are not supported.', 'type' => 'string', 'required' => false, 'example' => 'm-2ze8cqacj7opnf***', 'title' => ''],
'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-2zed7lqn4ts4****', 'title' => ''],
'LaunchTemplateId' => ['description' => 'The ID of the launch template. This parameter specifies that the scaling group obtains launch configuration information from the launch template.', 'type' => 'string', 'required' => false, 'example' => 'lt-2ze2qli30u***', 'title' => ''],
'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n"
."\n"
.'- A fixed template version number.'."\n"
.'- Default: always uses the default version of the template.'."\n"
.'- Latest: always uses the latest version of the template.'."\n"
."\n"
.'> Rollback is not supported for instance refresh tasks when the version is set to Default or Latest.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''],
'LaunchTemplateOverrides' => [
'description' => 'The instance type information that extends the launch template.',
'type' => 'array',
'items' => [
'description' => 'The instance type information that extends the launch template.',
'type' => 'object',
'properties' => [
'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.'."\n"
."\n"
.'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.2xlarge', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
'Containers' => [
'description' => 'The list of containers in the instance.'."\n"
."\n"
.'> - This parameter is supported only for Elastic Container Instance (ECI) scaling groups.'."\n"
.'> - Only container configurations whose names match `Container.Name` in the current scaling configuration container list are refreshed.',
'type' => 'array',
'items' => [
'description' => 'The list of containers in the instance.',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''],
'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''],
'Commands' => [
'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.',
'type' => 'array',
'items' => ['description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'Args' => [
'description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.',
'type' => 'array',
'items' => ['description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
'EnvironmentVars' => [
'description' => 'The environment variable information.',
'type' => 'array',
'items' => [
'description' => 'The environment variable information.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain digits, letters, and underscores (\\_). It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''],
'Value' => ['description' => 'The value of the environment variable. The value can be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin ', 'title' => ''],
'FieldRefFieldPath' => ['description' => '> This parameter is not publicly available.', 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'SkipMatching',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to skip instances that match the desired configuration.'."\n"
."\n"
.'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Instances that were already created with the desired configuration are skipped.'."\n"
.'- false: All instances in the scaling group at the time the refresh task starts are refreshed.'."\n"
."\n"
.'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'Checkpoints',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for CheckpointPauseTime minutes when the percentage of new instances reaches the specified value during the instance refresh.',
'type' => 'array',
'items' => [
'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for `CheckpointPauseTime` minutes when the percentage of new instances reaches the specified value during the instance refresh.',
'type' => 'object',
'properties' => [
'Percentage' => ['description' => 'The percentage of new instances to total instances in the scaling group at which the task is automatically paused. Valid values: 1 to 100 (%).'."\n"
."\n"
.'> The values must be specified in ascending order, and the last percentage value must be 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 100,
'title' => '',
'example' => '',
],
],
[
'name' => 'CheckpointPauseTime',
'in' => 'query',
'schema' => ['description' => 'The duration for which the task is paused when a checkpoint is reached.'."\n"
.'- Unit: minutes.'."\n"
.'- Valid values: 1 to 2880.'."\n"
.'- Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'Strategy',
'in' => 'query',
'schema' => ['description' => 'The execution strategy for the instance refresh task. Valid values:'."\n"
."\n"
.'- Rolling: The instance refresh task creates new instances and releases old instances to refresh instances.'."\n"
."\n"
.'- ReplaceSystemDisk: The system cloud disk of existing instances is replaced by specifying DesiredConfiguration.image to update the system cloud disk.'."\n"
."\n"
.'Default value: Rolling.', 'type' => 'string', 'required' => false, 'example' => 'Rolling', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-a12ds234fasd*****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]',
'title' => 'Start an instance refresh task',
'description' => '- Only one instance refresh node can run in a scaling group at a time.'."\n"
.'- This feature supports only ECS scaling groups whose scale-out policy is set to **Priority Policy**. Scaling groups that use **vCPU-based Capacity Calculation** and scaling groups whose instance revoke pattern is set to **Shutdown and Revoke Pattern** or **Forced Shutdown and Revoke Pattern** do not support this feature.'."\n"
.'- During an instance refresh, normal scale-out and scale-in operations can be performed. However, scale-out operations use the desired configuration of the instance refresh.'."\n"
.'- Instances that are manually added to the scaling group, instances in the standby state, and instances in the protection status are ignored by the instance refresh node and do not participate in the instance refresh.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:StartInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'SuspendInstanceRefresh' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '234876',
'abilityTreeNodes' => ['FEATUREessPV8ZVU'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'InstanceRefreshTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'SuspendInstanceRefresh',
'summary' => 'Suspends an instance refresh task. If you are not sure that you want to roll back an ongoing instance refresh task whose configurations you think has an issue, you can call the SuspendInstanceRefresh operation to suspend the task.',
'description' => '* You cannot call this operation to suspend an instance refresh task that is being rolled back.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SuspendInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'SuspendProcesses' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125380',
'abilityTreeNodes' => ['FEATUREess4ZDI6R'],
],
'parameters' => [
[
'name' => 'ScalingGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'Processes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The types of processes that you want to suspend. Valid values:'."\n"
."\n"
.'* ScaleIn: the scale-in process.'."\n"
.'* ScaleOut: the scale-out process.'."\n"
.'* HealthCheck: the health check process.'."\n"
.'* AlarmNotification: the process of executing an event-triggered task.'."\n"
.'* ScheduledAction: the process of executing a scheduled task.'."\n"
."\n"
.'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n",
'type' => 'array',
'items' => ['description' => 'The type of the process that you want to suspend. Valid values:'."\n"
."\n"
.'* ScaleIn: the scale-in process.'."\n"
.'* ScaleOut: the scale-out process.'."\n"
.'* HealthCheck: the health check process.'."\n"
.'* AlarmNotification: the process of executing an event-triggered task.'."\n"
.'* ScheduledAction: the process of executing a scheduled task.'."\n"
."\n"
.'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleIn'],
'required' => true,
'maxItems' => 100,
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51****'],
],
'description' => '',
],
],
],
'title' => 'SuspendProcesses',
'summary' => 'Suspends scaling processes. This operation empowers you to selectively pause distinct scaling processes within a particular scaling group, enabling you to carry out alternative tasks and achieve more granular management over your scaling operations.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SuspendProcesses',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB51****\\"\\n}","type":"json"}]',
],
'TagResources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125392',
'abilityTreeNodes' => ['FEATUREessXN6KX4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'],
],
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the Auto Scaling resource.', 'type' => 'string', 'required' => false, 'example' => 'asg-2zej7nf7hea77k5a****'],
'required' => true,
'maxItems' => 51,
],
],
[
'name' => 'Tags',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags that you want to add to the Auto Scaling resources.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag that you want to add to the Auto Scaling resources.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'You can specify empty strings as tag values. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'],
'Propagate' => ['description' => 'Specifies whether to propagate the tag that you want to add. Valid values:'."\n"
."\n"
.'* true: propagates the tag to new instances.'."\n"
.'* false: does not propagate the tag to any instance.'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
'required' => false,
],
'required' => true,
'maxItems' => 21,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]',
'title' => 'TagResources',
'summary' => 'Creates and adds tags. You can call the TagResources operation to uniformly create and attach tags to your Auto Scaling resources, streamlining resource management. This capability empowers you to categorize resources based on tags, thereby enhancing the overall efficiency of resource allocation and utilization.',
'description' => '* You can attach up to 20 tags to a scaling group.'."\n"
."\n"
.' **'."\n"
."\n"
.' **Note** Before you attach tags to a specific Auto Scaling resource, Alibaba Cloud automatically verifies the current number of tags attached to that resource. In the event the proposed addition would exceed the maximum allowed number of tags, an error message will be promptly returned after you call this operation.'."\n"
."\n"
.'* If you set `Tags.Propagate` to `true`, any tags attached to your scaling group will be automatically propagated to new instances that are subsequently created in the scaling group, without affecting existing instances.'."\n"
."\n"
.'* If both the scaling configuration and the scaling group have tags attached, and tag propagation from the scaling group is enabled, the tags of newly created instances comply with the following rules:'."\n"
."\n"
.' * Instances set to join the scaling group will inherit the following tags: tags attached to the scaling configuration that initiates the instance creation and tags attached to the scaling group that are allowed to propagate to these instances upon instance creation.'."\n"
.' * If the tag keys of the scaling configuration and those attached to the scaling group and propagated to the instances are identical, the tags attached to the scaling group and propagated to the instances will be overwritten by the tags of the scaling configuration.'."\n",
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'UntagResources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '125327',
'abilityTreeNodes' => ['FEATUREessXN6KX4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'],
],
[
'name' => 'All',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n"
."\n"
.'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The resource IDs.'."\n",
'type' => 'array',
'items' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****'],
'required' => true,
'maxItems' => 51,
],
],
[
'name' => 'TagKeys',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag keys.'."\n",
'type' => 'array',
'items' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'],
'required' => false,
'maxItems' => 21,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****'],
],
'description' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]',
'title' => 'UntagResources',
'summary' => 'Removes tags from Auto Scaling resources simultaneously. This operation streamlines resource management activities, enhances system efficiency, and mitigates potential security vulnerabilities. Once a tag is removed from a particular resource, and if it is not re-added to any other resource, the system will automatically delete the unused tag.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
],
'VerifyAuthentication' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'Uid',
'in' => 'query',
'schema' => ['description' => 'The ID of your Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678123*****'],
],
[
'name' => 'OnlyCheck',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to check only the authorization status. Valid values:'."\n"
."\n"
.'* true: checks only the authorization status. The service-linked role is not created.'."\n"
.'* false (default): checks the authorization status and resource usage.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'description' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'UserNotAuthorizeEss', 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', 'description' => ''],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'VerifyAuthentication',
'summary' => 'Checks whether the specified Alibaba Cloud account assumes the AliyunServiceRoleForAutoScaling service-linked role. An account can be used to operate Elastic Compute Service (ECS) instances and elastic container instances only after it assumes the service-linked role.',
'changeSet' => [],
'ramActions' => [
[
'operationType' => '',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'VerifyUser' => [
'summary' => 'Verifies whether Auto Scaling is activated. This operation guarantees that in response to shifts in business workloads or variations in incoming traffic, the system will automatically adjust resource provisioning. This auto-scaling capability enhances the overall system performance, ensuring high availability and improved flexibility to accommodate dynamic demands.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREessZ1KWHS'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The ID of the region where Auto Scaling is required.'."\n"
."\n"
.'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
],
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'VerifyUser',
'changeSet' => [],
'ramActions' => [
[
'operationType' => '',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'operationType' => 'read',
],
],
'endpoints' => [
['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-1.aliyuncs.com'],
['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-2.aliyuncs.com'],
['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-1.aliyuncs.com'],
['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-2.aliyuncs.com'],
['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-3.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-3.aliyuncs.com'],
['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-5.aliyuncs.com'],
['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-6.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-6.aliyuncs.com'],
['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-7.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-7.aliyuncs.com'],
['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-beijing.aliyuncs.com'],
['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-chengdu.aliyuncs.com', 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-chengdu.aliyuncs.com'],
['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-fuzhou.aliyuncs.com', 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-fuzhou.aliyuncs.com'],
['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-guangzhou.aliyuncs.com'],
['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hangzhou.aliyuncs.com'],
['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-heyuan.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan.aliyuncs.com'],
['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-hongkong.aliyuncs.com', 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hongkong.aliyuncs.com'],
['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', 'vpc' => 'ess-vpc.cn-huhehaote.aliyuncs.com'],
['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-nanjing.aliyuncs.com'],
['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-qingdao.aliyuncs.com'],
['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai.aliyuncs.com'],
['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen.aliyuncs.com'],
['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wuhan-lr.aliyuncs.com'],
['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu.aliyuncs.com'],
['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhangjiakou.aliyuncs.com'],
['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhengzhou-jva.aliyuncs.com'],
['regionId' => 'cn-zhongwei', 'regionName' => 'China (Zhongwei)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhongwei.aliyuncs.com', 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhongwei.aliyuncs.com'],
['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-west-1.aliyuncs.com', 'endpoint' => 'ess.us-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-west-1.aliyuncs.com'],
['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-southeast-1.aliyuncs.com', 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-southeast-1.aliyuncs.com'],
['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-east-1.aliyuncs.com', 'endpoint' => 'ess.us-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-east-1.aliyuncs.com'],
['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.na-south-1.aliyuncs.com', 'endpoint' => 'ess.na-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.na-south-1.aliyuncs.com'],
['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-west-1.aliyuncs.com', 'endpoint' => 'ess.eu-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-west-1.aliyuncs.com'],
['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-central-1.aliyuncs.com', 'endpoint' => 'ess.eu-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-central-1.aliyuncs.com'],
['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-east-1.aliyuncs.com', 'endpoint' => 'ess.me-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-east-1.aliyuncs.com'],
['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-central-1.aliyuncs.com', 'endpoint' => 'ess.me-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-central-1.aliyuncs.com'],
['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.ap-south-1.aliyuncs.com', 'endpoint' => 'ess.ap-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-south-1.aliyuncs.com'],
['regionId' => 'cn-wulanchabu-gic-1', 'regionName' => 'China (Ulanqab) GIC', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu-gic-1.aliyuncs.com'],
['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai-finance-1.aliyuncs.com'],
['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-north-2-gov-1.aliyuncs.com'],
['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan-acdr-1.aliyuncs.com'],
['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''],
],
'errorCodes' => [
['code' => 'AlbServerGroup.NotExist', 'message' => 'The ServerGroup "%s" do(es) not exist.', 'http_code' => 400, 'description' => ''],
['code' => 'CMSSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'],
['code' => 'ConsoleSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'],
['code' => 'CustomMetric.NotFound', 'message' => 'Can not find custom metric of specific dimension.', 'http_code' => 404, 'description' => ''],
['code' => 'DiskCreatingSnapshot', 'message' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', 'http_code' => 400, 'description' => ''],
['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate value.', 'http_code' => 400, 'description' => ''],
['code' => 'Forbidden.Forbidden', 'message' => null, 'http_code' => null, 'description' => 'The operation is not permitted'],
['code' => 'Forbidden.RAM', 'message' => null, 'http_code' => null, 'description' => 'The user is not authorized to operate on the specified resource, or this API doesn\'t support RAM.'],
['code' => 'Forbidden.RiskControl', 'message' => null, 'http_code' => null, 'description' => 'The operation is forbidden by the risk control system'],
['code' => 'Forbidden.Unauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user has not granted Open API authorization to Auto Scaling.'],
['code' => 'Forbidden.Unsubscribed', 'message' => null, 'http_code' => null, 'description' => 'The user has not activated Auto Scaling and does not have permission to call this API.'],
['code' => 'Forbidden.UserVerification', 'message' => null, 'http_code' => null, 'description' => 'No real-name verification'],
['code' => 'HostNameExhausted', 'message' => 'The HostName resource exhausted, please reset HostName.', 'http_code' => 400, 'description' => 'the begin number in the auto-increment HostName of the scaling configuration exceeds the defined bits.'],
['code' => 'IDEMPOTENCE_PROCESSING', 'message' => 'The previous request is still processing.', 'http_code' => 400, 'description' => 'The request is in progress.'],
['code' => 'IDEMPOTENCE_SIGNATURE_MISMATCH', 'message' => 'There is a idempotence signature mismatch between this and last request.', 'http_code' => 400, 'description' => ''],
['code' => 'IncorrectCapacity.MaxSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be added will make the Total Capacity exceed the MaxSize.'],
['code' => 'IncorrectCapacity.MinSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be removed will make the Total Capacity less than the MinSize.'],
['code' => 'IncorrectCapacity.NoChange', 'message' => null, 'http_code' => null, 'description' => 'The action has not changed the quantity of scaling group instances'],
['code' => 'IncorrectDBInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance is not in Running status.'],
['code' => 'IncorrectInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance is not in Running status.'],
['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => null, 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'],
['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => 'The current health check type of specified load balancer does not support this action.', 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'],
['code' => 'IncorrectLoadBalancerStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'],
['code' => 'IncorrectLoadBalancerStatus', 'message' => 'The current status of the specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'],
['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'],
['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => 'The current lifecycle state of specified scaling configuration does not support this action.', 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'],
['code' => 'IncorrectScalingGroupStatus', 'message' => null, 'http_code' => null, 'description' => 'The current scaling group does not support this operation (check if the scaling group is in Enabled status).'],
['code' => 'IncorrectStatus.serverGroup', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => ''],
['code' => 'IncorrectVSwitchStatus', 'message' => null, 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'],
['code' => 'IncorrectVSwitchStatus', 'message' => 'The current status of virtual switch does not support this operation.', 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'],
['code' => 'InstanceChargeType.NotSupported', 'message' => 'Specific instance charge type "%s" is not supported.', 'http_code' => 400, 'description' => 'When an instance is added to a scaling group and its lifecycle is managed to the scaling group. The billing type of the current instance does not support hosting.'],
['code' => 'InstanceInUse', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration still has an associated ECS instance.'],
['code' => 'InstanceType.Mismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'],
['code' => 'InsufficientBalance', 'message' => null, 'http_code' => null, 'description' => 'Insufficient user account balance'],
['code' => 'InternalError', 'message' => null, 'http_code' => null, 'description' => 'The server cannot process the request'],
['code' => 'InvalidAccessKeyId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'Invalid Access Key'],
['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''],
['code' => 'InvalidDataDiskSnapshotId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified snapshot does not exist'],
['code' => 'InvalidDataDiskSnapshotId.SizeNotSupported', 'message' => null, 'http_code' => null, 'description' => 'The size of the specified snapshot exceeds the size limit of the disk'],
['code' => 'InvalidDBInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance does not exist under this user account'],
['code' => 'InvalidDBInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance and scaling group are in different regions.'],
['code' => 'InvalidDevice.InUse', 'message' => null, 'http_code' => null, 'description' => 'The data disk mounting point is already in use'],
['code' => 'InvalidImageId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified instance type does not allow the use of the specified image'],
['code' => 'InvalidImageId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified image does not exist under this user account'],
['code' => 'InvalidImageId.NotFound', 'message' => 'The specified image does not exist.', 'http_code' => null, 'description' => 'The specfied image ID does not exist.'],
['code' => 'InvalidInstanceId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not match the instance type of the scaling configuration.'],
['code' => 'InvalidInstanceId.InUse', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance has been added to another scaling group'],
['code' => 'InvalidInstanceId.NetworkTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The network types of the specified ECS instance and scaling group do not match.'],
['code' => 'InvalidInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not exist under this user account'],
['code' => 'InvalidInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance and scaling group are in different regions.'],
['code' => 'InvalidInstanceId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group and ECS instance to be added are in different VPCs.'],
['code' => 'InvalidInstanceType.Mismatch', 'message' => 'Instance types don\'t match the specified disk category.', 'http_code' => 403, 'description' => ''],
['code' => 'InvalidInstanceType.NotAuthorized', 'message' => 'Instance types are not authorized.', 'http_code' => 403, 'description' => ''],
['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The instance type "%s" is not supported by ess.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidLoadBalancerId.IncorrectAddressType', 'message' => null, 'http_code' => null, 'description' => 'After a VSwitchID is specified, the specified Server Load Balancer instance type must be private network'],
['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'],
['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => 'The network type of the instance in specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'],
['code' => 'InvalidLoadBalancerId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'],
['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'The specified Load Balancer does not exist.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'],
['code' => 'InvalidLoadBalancerId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance and scaling group are in different regions'],
['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'],
['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => 'The specified virtual switch and the instance in specified load balancer are not in the same VPC.', 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'],
['code' => 'InvalidNotificationArn', 'message' => 'The specified param "notificationArn" is invalid.', 'http_code' => 400, 'description' => 'The parameter NotificationArn is invalid.'],
['code' => 'InvalidOperation.Conflict', 'message' => 'Specific operation may conflicts with other operations, please retry later.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidOperation.GroupDeletionProtection', 'message' => 'The operation is not allowed due to "%s" is protected by deletion protection.', 'http_code' => 403, 'description' => ''],
['code' => 'InvalidOperation.Suspended', 'message' => 'Specific operation is rejected while "%s" process is suspended.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidParameter', 'message' => 'The specified value of parameter %s is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter %s is not valid.'],
['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "%s" is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter "%s" is not valid.'],
['code' => 'InvalidParameter', 'message' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.', 'http_code' => 400, 'description' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.', 'http_code' => 400, 'description' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.', 'http_code' => 400, 'description' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId'."\n"
.'are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with image'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ScalingConfigurationId and parameter InstanceTypeOverrides are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with specifying multiple instance types and configuring weights for different instance types.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter LaunchTemplateId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The scaling configuration conflicts with the startup template.'],
['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.'],
['code' => 'InvalidParameter.InvalidParameter', 'message' => null, 'http_code' => null, 'description' => 'Invalid parameter value'],
['code' => 'InvalidParameter.InvalidParameter.Conflict', 'message' => null, 'http_code' => null, 'description' => 'The specified parameter value causes a conflict'],
['code' => 'InvalidParameter.TimeZone', 'message' => 'The specified parameter TimeZone is not valid.', 'http_code' => 400, 'description' => 'The specified parameter TimeZone is not valid.'],
['code' => 'InvalidRamRole.NotFound', 'message' => 'The specified RamRoleName does not exist.', 'http_code' => null, 'description' => ''],
['code' => 'InvalidRegionId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not exist'],
['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidScalingActivityId.NotFound', 'message' => 'The specified scaling activity does not exist.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidScalingConfigurationId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'],
['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'],
['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => 'The specified scaling configuration does not exist.', 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'],
['code' => 'InvalidScalingConfigurationName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling configuration name already exists.'],
['code' => 'InvalidScalingGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'],
['code' => 'InvalidScalingGroupId.NotFound', 'message' => 'The specified scaling group does not exist.', 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'],
['code' => 'InvalidScalingGroupName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling group name already exists.'],
['code' => 'InvalidScalingRuleAri.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'],
['code' => 'InvalidScalingRuleId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'],
['code' => 'InvalidScalingRuleId.NotFound', 'message' => 'The specified scaling rule "%s" does not exist.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidScalingRuleName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This action name already exists.'],
['code' => 'InvalidScheduledTaskId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'],
['code' => 'InvalidScheduledTaskId.NotFound', 'message' => 'The specified scheduled task does not exist.', 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'],
['code' => 'InvalidScheduledTaskName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scheduled task name already exists.'],
['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'],
['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => 'The network type of specified Security Group does not support this action.', 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'],
['code' => 'InvalidSecurityGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not exist under this user account'],
['code' => 'InvalidSecurityGroupId.NotFound', 'message' => 'The specified security group does not exist.', 'http_code' => null, 'description' => 'The specified security group ID does not exist.'],
['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'],
['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'],
['code' => 'InvalidServerId.NotFound', 'message' => 'The specified ServerId does not exist.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidSnapshot.TooOld', 'message' => null, 'http_code' => null, 'description' => 'This snapshot was created on or before 7/15/2013, which means this call will be rejected.'],
['code' => 'InvalidSystemDiskCategory.ValueUnauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user does not have permission to create a temporary system disk'],
['code' => 'InvalidSystemDiskSize.LessThanImageSize', 'message' => 'The specified parameter SystemDisk.Size is less than the image size.', 'http_code' => 400, 'description' => ''],
['code' => 'InvalidVSwitchId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified VSwitch does not exist'],
['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified virtual switch does not exist.', 'http_code' => null, 'description' => 'The specified VSwitch does not exist'],
['code' => 'InvalidVSwitchId.NotFoundSpecifiedVSwitch', 'message' => 'The specified vSwitch(%s) does not exist.', 'http_code' => 404, 'description' => ''],
['code' => 'LastActivity.NotFinished', 'message' => 'Last activity is not finished', 'http_code' => 400, 'description' => ''],
['code' => 'LifecycleAction.InProcess', 'message' => 'The specified lifecycleHook you provided has in process lifecycle action.', 'http_code' => 400, 'description' => ''],
['code' => 'LifecycleActionTokenCompleted', 'message' => 'The specified lifecycleActionToken you provided has been completed.', 'http_code' => 400, 'description' => ''],
['code' => 'LifecycleActionTokenExpired', 'message' => 'The specified lifecycleActionToken you provided has expired.', 'http_code' => 400, 'description' => ''],
['code' => 'LifecycleHookIdAndLifecycleActionToken.Invalid', 'message' => 'The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.', 'http_code' => 400, 'description' => ''],
['code' => 'MissingActiveScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'An effective scaling configuration has not been specified in this scaling group'],
['code' => 'MissingParameter', 'message' => null, 'http_code' => null, 'description' => 'Enter a value for the parameters.'],
['code' => 'MissingParameter', 'message' => 'The input parameter that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''],
['code' => 'MissingSecurityToken', 'message' => 'SecurityToken is mandatory for this action.', 'http_code' => 400, 'description' => ''],
['code' => 'NoSuchVersion', 'message' => null, 'http_code' => null, 'description' => 'Invalid version'],
['code' => 'NotExist.ResourceGroup', 'message' => 'NotExist.ResourceGroup', 'http_code' => 400, 'description' => ''],
['code' => 'NotificationConfigurationExist', 'message' => 'The specified notificationConfiguration already exist for the scalingGroup.', 'http_code' => 400, 'description' => 'The specified scaling group event receiving object already exists.'],
['code' => 'NotificationMetadata.UnsupportedFormat', 'message' => 'metadata for Oos execution only support \'JSON\' format.', 'http_code' => 400, 'description' => ''],
['code' => 'OperationDenied', 'message' => 'This operation is denied because the specified scaling group does not support this action.', 'http_code' => 400, 'description' => ''],
['code' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', 'message' => null, 'http_code' => null, 'description' => 'Insufficient agent credit, please contact your agent'],
['code' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', 'message' => null, 'http_code' => null, 'description' => 'Insufficient credit, please contact your agent for revisions'],
['code' => 'PostonlyOrTokenError', 'message' => null, 'http_code' => null, 'description' => ' '],
['code' => 'PutMetricRuleTargets.Failed', 'message' => 'PutMetricRuleTargets for alarm has failed.', 'http_code' => 400, 'description' => 'Alarm task setting fails to trigger scaling.'],
['code' => 'QUERY_QUOTA_BOOK_FAILED', 'message' => null, 'http_code' => null, 'description' => 'Credit limit query failed'],
['code' => 'QuotaExceeded.AfterpayInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Pay-As-You-Go ECS instances has been reached'],
['code' => 'QuotaExceeded.BackendServer', 'message' => 'Backend server quota exceeded in load balancer "%s".', 'http_code' => 400, 'description' => ''],
['code' => 'QuotaExceeded.DBInstanceSecurityIP', 'message' => null, 'http_code' => null, 'description' => 'The number of IP addresses in the specified access white list for RDS instances has reached the upper limit'],
['code' => 'QuotaExceeded.EphemeralDiskSize', 'message' => null, 'http_code' => null, 'description' => 'The total temporary data disk capacity exceeds 2T (2008G)'],
['code' => 'QuotaExceeded.Instance', 'message' => null, 'http_code' => null, 'description' => 'The user\'s ECS instance quota has been reached'],
['code' => 'QuotaExceeded.LoadBalancer', 'message' => 'LoadBalancer quota exceeded in scalingGroup.', 'http_code' => 400, 'description' => ''],
['code' => 'QuotaExceeded.PrivateIpAddress', 'message' => null, 'http_code' => null, 'description' => 'All private IP addresses of the VSwitch are already in use.'],
['code' => 'QuotaExceeded.ScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling configuration quota has been reached'],
['code' => 'QuotaExceeded.ScalingGroup', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling group quota has been reached'],
['code' => 'QuotaExceeded.ScalingInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Auto Scaling ECS instances has been reached'],
['code' => 'QuotaExceeded.ScalingRule', 'message' => null, 'http_code' => null, 'description' => 'The user\'s action quota has been reached.'],
['code' => 'QuotaExceeded.ScheduledTask', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scheduled task quota has been reached'],
['code' => 'QuotaExceeded.SecurityGroupInstance', 'message' => null, 'http_code' => null, 'description' => 'The ECS instance quota for the specified security group has been reached'],
['code' => 'QuotaExceeded.VPCInstance', 'message' => null, 'http_code' => null, 'description' => 'The instance quota for this VPC has been reached'],
['code' => 'QuotaExceeded.VServerGroup', 'message' => 'VServerGroup quota exceeded in the specified scaling group.', 'http_code' => 400, 'description' => ''],
['code' => 'RAM.UnknownCallerType', 'message' => 'Unknown caller type "%s".', 'http_code' => 403, 'description' => ''],
['code' => 'RecommendEmpty.DiskTypeNoStock', 'message' => 'The diskTypes are out of usage.', 'http_code' => 403, 'description' => ''],
['code' => 'RecommendEmpty.InstanceTypeNoStock', 'message' => 'The instanceTypes are out of usage.', 'http_code' => 403, 'description' => ''],
['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommend instanceTypes are not authorized.', 'http_code' => 403, 'description' => ''],
['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommended instance type is unavailable or does not match the specified disk category.', 'http_code' => 403, 'description' => ''],
['code' => 'ResourceNotAvailable', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not support Auto Scaling'],
['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => null, 'http_code' => null, 'description' => 'The specified zone does not support classic network.'],
['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => 'The specified region does not support classic network, or you are the default vpc user.', 'http_code' => 400, 'description' => ''],
['code' => 'ResourceNotAvailable.ECS', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance type or disk type cannot be created in the specified region'],
['code' => 'ScalingActivityInProgress', 'message' => null, 'http_code' => null, 'description' => 'The scaling group of the specified action has a scaling activity in progress.'],
['code' => 'ScalingRule.InvalidScalingRuleType', 'message' => 'Specific scaling rule type: %s can not be executed.', 'http_code' => 400, 'description' => ''],
['code' => 'ScheduledAction.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ScheduledAction does not match the region of the scheduled task'],
['code' => 'ServiceNotEnabled', 'message' => 'The OwnerId that your Access Key Id associated to has not enabled.', 'http_code' => 403, 'description' => ''],
['code' => 'ServiceUnavailable', 'message' => null, 'http_code' => null, 'description' => 'The server cannot currently process the request.'],
['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => ''],
['code' => 'SignatureDoesNotMatch', 'message' => null, 'http_code' => null, 'description' => 'Invalid signature'],
['code' => 'TemplateMissingParameter.SecurityGroup', 'message' => 'The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''],
['code' => 'TemplateVersion.NotNumber', 'message' => 'The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.', 'http_code' => 400, 'description' => 'The version of the startup template is invalid.'],
['code' => 'Throttling', 'message' => null, 'http_code' => null, 'description' => 'You have exceeded the maximum traffic. To increase the limit, submit a ticket.'],
['code' => 'UnsupportedOperation', 'message' => null, 'http_code' => null, 'description' => 'Invalid interface'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported.The specified action is not supported by ECS group.', 'http_code' => 403, 'description' => 'You cannot call the CreateEciScalingConfiguration API to create a scaling configuration for an ECS-type scaling group.'],
['code' => 'UnsupportedOperation', 'message' => 'There are currently no instances need to refresh.', 'http_code' => 400, 'description' => 'There are no instances in the scaling group that need to be refreshed.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. RecurrenceValue.', 'http_code' => 403, 'description' => 'The specified action is not supported. RecurrenceValue'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. This ScalingGroup is managed by %s.', 'http_code' => 403, 'description' => 'The specified action is not supported. This ScalingGroup is managed by %s.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by ECI group.', 'http_code' => 403, 'description' => 'The ECI scaling group does not support the specified operation.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Your account has been deleted.', 'http_code' => 403, 'description' => 'Your account has been deleted.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by weighted group.', 'http_code' => 403, 'description' => 'The weighted scaling group does not support the specified operation.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Managed Instance can\'t be attached into ECI ScalingGroup.', 'http_code' => 403, 'description' => 'Managed instances cannot be added to scaling groups of the ECI type.'],
['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported for Managed instance.', 'http_code' => 403, 'description' => 'The specified action is not supported. The specified action is not supported for Managed instance.'],
['code' => 'UnsupportedOperation', 'message' => 'This operation is not supported because the Load Balancer is currently being processed. Please try again later or reduce the call frequency.', 'http_code' => 400, 'description' => 'This operation is not supported because load balancing is in progress. Please try again later or retry less frequently.'],
['code' => 'UnsupportedOperation', 'message' => 'This operation cannot be performed because a InstanceRefresh task is running.', 'http_code' => 400, 'description' => 'This operation cannot be performed because a InstanceRefresh task is running.'],
['code' => 'UnsupportedOperation', 'message' => 'The current alarm task is not associated with simple scaling rules, so it does not support the modification of multi metric.', 'http_code' => 403, 'description' => ''],
['code' => 'UserNotAuthorizeEss', 'message' => null, 'http_code' => null, 'description' => 'ESS should be authorized in RAM to operate user resource.'],
['code' => 'UserNotAuthorizeEss', 'message' => 'Ess should be authorized in ram to operate user resource.', 'http_code' => 403, 'description' => ''],
['code' => 'WeightedCapacity.NotFound', 'message' => 'Weighted capacity can not be found for instance type "%s".', 'http_code' => 400, 'description' => ''],
],
'changeSet' => [],
'ram' => [
'productCode' => 'AutoScaling',
'productName' => 'Auto Scaling',
'ramCodes' => ['ess'],
'ramLevel' => 'OPERATION',
'ramConditions' => [],
'ramActions' => [
[
'apiName' => 'DescribeUser',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeUser',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeScalingRules',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingRules',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyInstanceAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyInstanceAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeactivateScalingConfiguration',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DeactivateScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListTagResources',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'AttachLoadBalancers',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachLoadBalancers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyScalingRule',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'AttachInstances',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'RemoveInstances',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'StartInstanceRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:StartInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeRegions',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CompleteLifecycleAction',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:CompleteLifecycleAction',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeAlertConfig',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeAlertConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DetachAlbServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachAlbServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingGroups',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteScalingConfiguration',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ExitStandby',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ExitStandby',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeNotificationTypes',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeNotificationTypes',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryPredictiveTaskInfo',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveTaskInfo',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'AttachAlbServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachAlbServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeCapacityHistory',
'description' => '',
'operationType' => '',
'ramAction' => [
'action' => 'ess:DescribeCapacityHistory',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteScalingRule',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeLimitation',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLimitation',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeScalingGroupDetail',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroupDetail',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyAlarm',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'SuspendInstanceRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SuspendInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ResumeProcesses',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ResumeProcesses',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateDiagnoseReport',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateDiagnoseReport',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyScalingConfiguration',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingConfiguration',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteDiagnoseReport',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteDiagnoseReport',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeScalingActivities',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivities',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CancelInstanceRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:CancelInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'QueryPredictiveMetric',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveMetric',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyNotificationConfiguration',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScheduledTasks',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScheduledTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeAlarms',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeAlarms',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingGroupDiagnoseDetails',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingGroupDiagnoseDetails',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ScaleWithAdjustment',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ScaleWithAdjustment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DetachVServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachVServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ApplyEciScalingConfiguration',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:ApplyEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryPredictiveValue',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryPredictiveValue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateScheduledTask',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingConfigurations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingConfigurations',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingActivityStatistics',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivityStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateScalingGroup',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'],
],
],
],
[
'apiName' => 'DetachDBInstances',
'description' => '',
'operationType' => 'none',
'ramAction' => [
'action' => 'ess:DetachDBInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeInstanceCreateAndDeleteStatistics',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'VerifyUser',
'description' => '',
'operationType' => '',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePatternTypes',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'ess:DescribePatternTypes',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ChangeResourceGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ChangeResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyScalingGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'EnableAlarm',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnableAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ListTagValues',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagValues',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyAlertConfiguration',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyAlertConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeElasticStrength',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeElasticStrength',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteScalingGroup',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'SetInstancesProtection',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetInstancesProtection',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeInstanceRefreshes',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeInstanceRefreshes',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'EnableScalingGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnableScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DetachLoadBalancers',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachLoadBalancers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingActivityDetail',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingActivityDetail',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ApplyScalingGroup',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:ApplyScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'AttachVServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachVServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'SetInstanceHealth',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetInstanceHealth',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DetachServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ListTagKeys',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:ListTagKeys',
'authLevel' => '',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyLifecycleHook',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteNotificationConfiguration',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'SetGroupDeletionProtection',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SetGroupDeletionProtection',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'RebalanceInstances',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RebalanceInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateNotificationConfiguration',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateNotificationConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DetachInstances',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DetachInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DisableAlarm',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DisableAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ResumeInstanceRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ResumeInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'QueryHistoricalMetric',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:QueryHistoricalMetric',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeEciScalingConfigurations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeEciScalingConfigurations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'EnterStandby',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:EnterStandby',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DisableScalingGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:DisableScalingGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'RecordLifecycleActionHeartbeat',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RecordLifecycleActionHeartbeat',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateLifecycleHook',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeNotificationConfigurations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeNotificationConfigurations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'TagResources',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'UntagResources',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyAlertConfig',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyAlertConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ModifyScheduledTask',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeAlertConfiguration',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeAlertConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateScalingRule',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateEciScalingConfiguration',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'SuspendProcesses',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:SuspendProcesses',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteLifecycleHook',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteLifecycleHook',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateScalingConfiguration',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateScalingConfiguration',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeEciScalingConfigurationDetail',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeEciScalingConfigurationDetail',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'ExecuteScalingRule',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ExecuteScalingRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'AttachServerGroups',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachServerGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteScheduledTask',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteScheduledTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'AttachDBInstances',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:AttachDBInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeDiagnoseReports',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeDiagnoseReports',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyEciScalingConfiguration',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:ModifyEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'RollbackInstanceRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'ess:RollbackInstanceRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteAlarm',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'VerifyAuthentication',
'description' => '',
'operationType' => '',
'ramAction' => [
'action' => 'ess:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeLifecycleHooks',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLifecycleHooks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DeleteEciScalingConfiguration',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'ess:DeleteEciScalingConfiguration',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeScalingInstances',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeScalingInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'DescribeLifecycleActions',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'ess:DescribeLifecycleActions',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
[
'apiName' => 'CreateAlarm',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'ess:CreateAlarm',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
],
],
],
],
'resourceTypes' => [
['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'],
['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'],
],
],
];