diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/ess/2014-08-28 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/ess/2014-08-28')
| -rw-r--r-- | data/en_us/ess/2014-08-28/api-docs.php | 35586 |
1 files changed, 16217 insertions, 19369 deletions
diff --git a/data/en_us/ess/2014-08-28/api-docs.php b/data/en_us/ess/2014-08-28/api-docs.php index 4185384..b838893 100644 --- a/data/en_us/ess/2014-08-28/api-docs.php +++ b/data/en_us/ess/2014-08-28/api-docs.php @@ -1,199 +1,31 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ess', - 'version' => '2014-08-28', - ], + 'info' => ['style' => 'RPC', 'product' => 'Ess', 'version' => '2014-08-28'], 'directories' => [ [ - 'id' => 63491, - 'title' => 'Scaling groups', - 'type' => 'directory', - 'children' => [ - 'CreateScalingGroup', - 'DeleteScalingGroup', - 'ModifyScalingGroup', - 'EnableScalingGroup', - 'DisableScalingGroup', - 'SetGroupDeletionProtection', - 'AttachLoadBalancers', - 'DetachLoadBalancers', - 'DetachDBInstances', - 'AttachDBInstances', - 'AttachVServerGroups', - 'DetachVServerGroups', - 'DescribeScalingGroups', - 'DescribeScalingInstances', - 'DescribeScalingActivities', - 'DescribeScalingActivityDetail', - 'DescribeLimitation', - 'DescribeElasticStrength', - 'VerifyAuthentication', - 'SuspendProcesses', - 'ResumeProcesses', - 'VerifyUser', - ], - ], - [ - 'id' => 63513, - 'title' => 'Scaling configurations', - 'type' => 'directory', - 'children' => [ - 'CreateScalingConfiguration', - 'DeleteScalingConfiguration', - 'ModifyScalingConfiguration', - 'DescribeScalingConfigurations', - 'DeactivateScalingConfiguration', - ], - ], - [ - 'id' => 63519, - 'title' => 'Scaling rules', - 'type' => 'directory', - 'children' => [ - 'CreateScalingRule', - 'DeleteScalingRule', - 'ModifyScalingRule', - 'DescribeScalingRules', - ], - ], - [ - 'id' => 63524, - 'title' => 'Scaling tasks', - 'type' => 'directory', - 'children' => [ - 'AttachInstances', - 'DetachInstances', - 'ExecuteScalingRule', - 'RemoveInstances', - ], - ], - [ - 'id' => 63529, - 'title' => 'Scheduled tasks', - 'type' => 'directory', - 'children' => [ - 'CreateScheduledTask', - 'DeleteScheduledTask', - 'ModifyScheduledTask', - 'DescribeScheduledTasks', - ], - ], - [ - 'id' => 63534, - 'title' => 'Lifecycle hooks', - 'type' => 'directory', - 'children' => [ - 'CreateLifecycleHook', - 'DeleteLifecycleHook', - 'ModifyLifecycleHook', - 'DescribeLifecycleActions', - 'DescribeLifecycleHooks', - 'RecordLifecycleActionHeartbeat', - 'CompleteLifecycleAction', - ], - ], - [ - 'id' => 63542, - 'title' => 'Event notifications', + 'children' => ['DeactivateScalingConfiguration'], 'type' => 'directory', - 'children' => [ - 'CreateNotificationConfiguration', - 'DeleteNotificationConfiguration', - 'ModifyNotificationConfiguration', - 'DescribeNotificationConfigurations', - 'DescribeNotificationTypes', - ], + 'title' => 'Scaling configuration', ], [ - 'id' => 63548, - 'title' => 'Instances', - 'type' => 'directory', 'children' => [ - 'SetInstancesProtection', - 'SetInstanceHealth', - 'EnterStandby', - 'ExitStandby', - 'RebalanceInstances', + 'ApplyScalingGroup', 'AttachAlbServerGroups', 'AttachDBInstances', 'AttachInstances', 'AttachLoadBalancers', 'AttachServerGroups', 'AttachVServerGroups', 'CancelInstanceRefresh', 'ChangeResourceGroup', 'CompleteLifecycleAction', 'CreateAlarm', 'CreateEciScalingConfiguration', 'CreateLifecycleHook', 'CreateNotificationConfiguration', 'CreateScalingConfiguration', 'CreateScalingGroup', 'CreateScalingRule', 'CreateScheduledTask', 'DeleteAlarm', 'DeleteEciScalingConfiguration', + 'DeleteLifecycleHook', 'DeleteNotificationConfiguration', 'DeleteScalingConfiguration', 'DeleteScalingGroup', 'DeleteScalingRule', 'DeleteScheduledTask', 'DescribeAlarms', 'DescribeAlertConfiguration', 'DescribeEciScalingConfigurations', 'DescribeElasticStrength', 'DescribeInstanceRefreshes', 'DescribeLifecycleActions', 'DescribeLifecycleHooks', 'DescribeLimitation', 'DescribeNotificationConfigurations', 'DescribeNotificationTypes', 'DescribePatternTypes', 'DescribeRegions', 'DescribeScalingActivities', 'DescribeScalingActivityDetail', + 'DescribeScalingConfigurations', 'DescribeScalingGroups', 'DescribeScalingInstances', 'DescribeScalingRules', 'DescribeScheduledTasks', 'DetachAlbServerGroups', 'DetachDBInstances', 'DetachInstances', 'DetachLoadBalancers', 'DetachServerGroups', 'DetachVServerGroups', 'DisableAlarm', 'DisableScalingGroup', 'EnableAlarm', 'EnableScalingGroup', 'EnterStandby', 'ExecuteScalingRule', 'ExitStandby', 'ListTagKeys', 'ListTagResources', + 'ListTagValues', 'ModifyAlarm', 'ModifyAlertConfiguration', 'ModifyEciScalingConfiguration', 'ModifyInstanceAttribute', 'ModifyLifecycleHook', 'ModifyNotificationConfiguration', 'ModifyScalingConfiguration', 'ModifyScalingGroup', 'ModifyScalingRule', 'ModifyScheduledTask', 'RebalanceInstances', 'RecordLifecycleActionHeartbeat', 'RemoveInstances', 'ResumeInstanceRefresh', 'ResumeProcesses', 'RollbackInstanceRefresh', 'ScaleWithAdjustment', 'SetGroupDeletionProtection', 'SetInstanceHealth', + 'SetInstancesProtection', 'StartInstanceRefresh', 'SuspendInstanceRefresh', 'SuspendProcesses', 'TagResources', 'UntagResources', 'VerifyAuthentication', 'VerifyUser', ], - ], - [ - 'id' => 63554, - 'title' => 'Regions', + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], - ], - [ - 'id' => 63556, - 'title' => 'Tags', - 'type' => 'directory', - 'children' => [ - 'ListTagResources', - 'ListTagKeys', - 'ListTagValues', - 'TagResources', - 'UntagResources', - ], - ], - [ - 'id' => 63562, - 'title' => 'Event-triggered tasks', - 'type' => 'directory', - 'children' => [ - 'CreateAlarm', - 'DeleteAlarm', - 'DisableAlarm', - 'EnableAlarm', - 'ModifyAlarm', - 'DescribeAlarms', - ], - ], - [ - 'id' => 165918, - 'title' => '未翻译(其他)', - 'type' => 'directory', - 'children' => [ - 'AttachAlbServerGroups', - 'CreateEciScalingConfiguration', - 'DeleteEciScalingConfiguration', - 'DescribeEciScalingConfigurations', - 'DetachAlbServerGroups', - 'ModifyEciScalingConfiguration', - 'ScaleWithAdjustment', - 'ChangeResourceGroup', - 'AttachServerGroups', - 'DetachServerGroups', - 'ModifyInstanceAttribute', - 'DescribePatternTypes', - 'ApplyScalingGroup', - 'ModifyAlertConfiguration', - 'DescribeAlertConfiguration', - 'SuspendInstanceRefresh', - 'ResumeInstanceRefresh', - 'CancelInstanceRefresh', - 'DescribeInstanceRefreshes', - 'RollbackInstanceRefresh', - 'StartInstanceRefresh', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateScalingGroup' => [ - 'summary' => ' 创建一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ApplyScalingGroup' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -205,962 +37,311 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92658', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - ], + 'abilityTreeCode' => '206918', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ', 'FEATUREessXN6KX4'], ], 'parameters' => [ [ - '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" - ."\n" - .'If you do not specify this parameter, the value of the **ScalingGroupId **parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], - ], - [ - 'name' => 'LaunchTemplateId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that provides instance configurations for Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'Ensures the idempotence of the request. Generate a value from your client that is unique across different requests. The value 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****'], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'Content', '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.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an existing ECS instance that provides instance configurations for Auto Scaling to create a scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'schema' => ['description' => 'The content of the configuration file.', 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. For more information, see the [Regions and zones](~~40654~~) topic.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'MinSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances that must be contained in the scaling group. If the number of ECS instances in the scaling group is less than the value of the `MinSize` parameter, Auto Scaling automatically creates ECS instances until the number of instances in the scaling group is equal to the minimum number.'."\n" - ."\n" - .'> The value of the `MinSize` parameter must be less than or equal to the value of the `MaxSize` parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], - ], - [ - 'name' => 'MaxSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If the number of ECS instances in the scaling group is greater than the value of the `MaxSize` parameter, Auto Scaling automatically removes ECS instances until the number of instances in the scaling group is equal to the maximum number.'."\n" - ."\n" - .'The value range of the **MaxSize** parameter varies based on the instance quota. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of instances that a scaling group can contain.'."\n" - ."\n" - .'For example, if a scaling group can contain up to 2,000 instances, the value range of the `MaxSize` parameter is 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], - [ - 'name' => 'DefaultCooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period after a scaling activity is complete. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'During the cooldown period, Auto Scaling executes only scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], - ], - [ - 'name' => 'LoadBalancerIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the CLB instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple CLB instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of CLB instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of CLB instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', - ], - ], - [ - 'name' => 'DBInstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', - ], - ], - [ - 'name' => 'RemovalPolicy.1', - 'in' => 'query', - 'schema' => [ - 'description' => 'The first instance removal policy. You cannot set the **RemovalPolicy.1** parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value.'."\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" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the **OldestScalingConfiguration **setting can be a scaling configuration or a launch template. You can specify **CustomPolicy **only as the value of the **RemovalPolicy.1** parameter. If you set the **RemovalPolicy.1** parameter to **CustomPolicy**, you must also specify the **CustomPolicyARN **parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy** parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestScalingConfiguration', - ], - ], - [ - 'name' => 'RemovalPolicy.2', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The second instance removal policy. You cannot set the **RemovalPolicy.1 **parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value. 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" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy **parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestInstance', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group that takes effect.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'RemovalPolicy.3', - 'in' => 'query', - 'schema' => [ - 'description' => 'The third instance removal policy. You cannot set the **RemovalPolicy.1** parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value. 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" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy **parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NewestInstance', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', 'description' => ''], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch. If you specify the **VSwitchId **parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ApplyScalingGroup', + 'summary' => 'Creates and manages ECI-based scaling groups by using a configuration file. You can call the ApplyScalingGroup operation to implement this feature.', + 'description' => '## Operation description'."\n" + .'ApplyScalingGroup allows you to quickly create ECI scaling groups in the Kubernetes Deployment resource definition format. ECI instances also support Kubernetes YAML extended annotations. For more information, see the "Supported annotations" section of this topic.'."\n" + ."\n\n" + .'Mapping between YAML configurations and scaling groups: A scaling group name is mapped by the `namespace`, `kind`, and `name` triplet defined in the YAML. Within a region, a YAML configuration can map to only one scaling group. For example:'."\n" + .'If you use a Deployment YAML configuration with `name` set to `nginx` under the default namespace, it maps to a scaling group named `k8s_default_Deployment_nginx` in the same region.'."\n" + ."\n\n" + .'Logic for managing scaling groups based on YAML configurations:'."\n" + ."\n" + .'- If the scaling group mapped by the YAML configuration exists, the scaling group is updated based on the YAML configuration.'."\n" + .'- If the scaling group mapped by the YAML configuration does not exist, a scaling group is created based on the YAML configuration.'."\n" + ."\n" + .'### Before you begin '."\n" + ."\n" + .'- If the YAML configuration does not specify VPC, vSwitch, or security group annotations, the system performs automatic creation of a default VPC, a default vSwitch within the VPC, and a default Auto Scaling security group (`ess-default-sg`). The security group policy opens TCP ports 22 and 3389 and the ICMP (IPv4) protocol by default. If you require other port protocols, adjust the security group policy accordingly.'."\n" + .'- When using a public image, enable public network access. Settings the `k8s.aliyun.com/eci-with-eip pod annotation` to enable the EIP feature.'."\n" + .'- After ApplyScalingGroup applies the YAML configuration, the scaling group and scaling configuration take effect immediately. If replicas is set to a value greater than 0, automatic creation of resources occurs.'."\n" + ."\n" + .'### Supported annotations'."\n" + .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" + .'|Parameter|Example|Description|'."\n" + .'|-----|-----|-----|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum number of instances in the scaling group. Default value: 0.'."\n" + .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum number of instances in the scaling group. Default value: max(replicas, 30).'."\n" + .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The NTP server.'."\n" + .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specification of 2 vCPUs and 4 GiB of memory. For more information, see [Create a pod with multiple specifications](~~451267~~).'."\n" + .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c****|The vSwitch ID. You can specify multiple vSwitches to enable the multi-zone feature.'."\n" + .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv****|The security group ID. You can specify one or more security groups, up to a maximum of five. The specified security groups must belong to the same VPC and must be of the same type.'."\n" + .'|k8s.aliyun.com/eci-sls-enable|"false"|Settings this parameter to false to shutdown log collection. When you collect logs by using SLS CRDs, if specific pods do not require log collection, configure this annotation to shutdown log collection and avoid unnecessary resource consumption caused by automatic creation of Logtail.'."\n" + .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for spot instances. Configure as needed. SpotWithPriceLimit: settings a custom price limit for spot instances. You must also set `k8s.aliyun.com/eci-spot-price-limit`. SpotAsPriceGo: the system automatically bids based on the current marketplace price.'."\n" + .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price for spot instances, accurate to three decimal places. This parameter is active only when `k8s.aliyun.com/eci-spot-strategy` is set to `SpotWithPriceLimit`.'."\n" + .'|k8s.aliyun.com/eci-with-eip|"true"|Settings this parameter to true for automatic creation and attach of an EIP.'."\n" + .'|k8s.aliyun.com/eci-data-cache-bucket|default|The DataCache bucket. This parameter is required when you create a pod by using DataCache.'."\n" + .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk created based on DataCache. Standard SSD is used by default, and the default PL is PL1.'."\n" + .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL cloud disk. Valid values: 0 to min{50000, 1000 × capacity - baseline performance}. Baseline performance = min{1800 + 50 × capacity, 50000}. For more information, see [ESSD AutoPL cloud disk](~~368372~~). If this annotation is added, the cloud disk created based on DataCache is an ESSD AutoPL cloud disk.'."\n" + .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether to enable burst (I/O burst) for the ESSD AutoPL cloud disk. For more information, see [ESSD AutoPL cloud disk](~~368372~~). If this annotation is added, the cloud disk created based on DataCache is an ESSD AutoPL cloud disk.'."\n" + .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The label (Tag) character string to attach. You can attach up to three labels. Separate label keys and label values with colons (:), and separate multiple labels with commas (,).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', + ], + 'AttachAlbServerGroups' => [ + 'summary' => 'Adds one or more Application Load Balancer (ALB) server groups to a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MultiAZPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: Auto Scaling scales ECS instances based on the priority of the vSwitch that is specified by the **VSwitchIds.N** parameter. 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" - ."\n" - .'* COST_OPTIMIZED: Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price and removes ECS instances whose vCPUs are provided at the highest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the **CompensateWithOnDemand **parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The **COST_OPTIMIZED **setting takes effect only when you specify multiple instance types or when you specify at least one preemptible instance type.'."\n" - ."\n" - .'* BALANCE: Auto Scaling evenly distributes ECS instances across zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly distribute the instances across the zones.'."\n" - ."\n" - .'* COMPOSABLE: You can combine the preceding policies based on your business requirements.'."\n" - ."\n" - .'Default value: PRIORITY.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92647', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'HealthCheckType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks on instances in the scaling group.'."\n" - .'* ECS: Auto Scaling performs health checks on ECS instances in the scaling group.'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.'."\n" + ."\n" + .'Examples: `ap-southeast-1` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - ."\n" - .'**ScalingPolicy **specifies the reclaim mode of scaling groups. The policy that is used to remove ECS instances from scaling groups is specified by the **RemovePolicy **parameter of the **RemoveInstances **operation. For more information, see the [RemoveInstances](~~25955~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'recycle', - ], + 'schema' => ['description' => 'The ID of the scaling group.', '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. 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~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'OnDemandBaseCapacity', - 'in' => 'query', - 'schema' => [ - '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" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value of this parameter is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The 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 of this parameter is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'SpotInstanceRemedy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to supplement preemptible instances. If you set this parameter to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives a system message which indicates that the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'CompensateWithOnDemand', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirement on the number of ECS instances when the expected capacity of preemptible instances cannot be provided due to reasons such as cost-related issues and insufficient resources. This parameter is available only if you set the `MultiAZPolicy` parameter to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'SpotInstancePools', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instance types that you want to specify. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price in the scaling group. Valid values: 1 to 10.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - ], - [ - 'name' => 'DesiredCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances. The expected number cannot be greater than the value of the **MaxSize **parameter and cannot be less than the value of the **MinSize **parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - ], - [ - '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" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'GroupType', - 'in' => 'query', - 'schema' => [ - '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" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], - ], - [ - 'name' => 'ContainerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-uf6fonnghi50u374****', - ], - ], - [ - 'name' => 'VSwitchIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of vSwitches. If you specify the **VSwitchIds.N** parameter, the **VSwitchId **parameter is ignored. If you specify the **VSwitchIds.N** parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'If you specify multiple vSwitches, take note of the following items:'."\n" - ."\n" - .'* The vSwitches must belong to the same VPC.'."\n" - .'* The vSwitches can belong to different zones.'."\n" - .'* The vSwitches are sorted in ascending order of priority. The first vSwitch that is specified by the **VSwitchIds.N** 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" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of vSwitches. If you specify the **VSwitchIds.N** parameter, the **VSwitchId **parameter is ignored. If you specify the **VSwitchIds.N** parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'If you specify multiple vSwitches, take note of the following items:'."\n" - ."\n" - .'* The vSwitches must belong to the same VPC.'."\n" - .'* The vSwitches can belong to different zones.'."\n" - .'* The vSwitches are sorted in ascending order of priority. The first vSwitch that is specified by the **VSwitchIds.N** 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" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - 'maxItems' => 8, - ], - ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The lifecycle hooks.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The action that Auto Scaling performs after the lifecycle hook of the scaling group times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: continues to respond to scaling requests.'."\n" - .'* ABANDON: releases ECS instances that are created during scale-outs, or removes ECS instances from the scaling group during scale-ins.'."\n" - ."\n" - .'If multiple lifecycle hooks in the scaling group are triggered during a scale-in and you set the **LifecycleHook.N.DefaultResult** parameter to **ABANDON** for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose **LifecycleHook.N.DefaultResult** parameter is set to **ABANDON** times out. In this case, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out. The action that Auto Scaling performs is determined by the value of the **LifecycleHook.N.DefaultResult** parameter that you set for the lifecycle hook that last times out.'."\n" - ."\n" - .'Default value: CONTINUE.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], - 'LifecycleHookName' => [ - 'description' => 'The name of the lifecycle hook. After you specify this parameter, you cannot change the name of the lifecycle hook. If you do not specify this parameter, the name of the lifecycle hook is the same as the ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], - 'LifecycleTransition' => [ - 'description' => 'The type of the scaling activities to which you want to apply the lifecycle hook. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-outs'."\n" - .'* SCALE_IN: scale-ins'."\n" - ."\n" - .'> If you specify lifecycle hooks for the scaling group, the **LifecycleHook.N.LifecycleTransition** parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_OUT', - ], - 'NotificationMetadata' => [ - 'description' => 'The fixed string that you want to include in a notification. When a lifecycle hook takes effect, Auto Scaling sends a notification. The value of this parameter cannot exceed 128 characters in length. Auto Scaling sends the value of the **NotificationMetadata** parameter together with the notification. This helps you categorize your notifications. If you specify the **NotificationMetadata** parameter, you must also specify the **NotificationArn** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method that Auto Scaling uses to send a notification when a lifecycle hook takes effect. This notification method can be a Message Service (MNS) queue or an MNS topic. Specify the value of this parameter in the following format: acs:ess:{region}:{account-id}:{resource-relative-id}.'."\n" - ."\n" - .'* region: the region where the scaling group resides'."\n" - .'* account-id: the ID of the Alibaba Cloud account'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* MNS queue: acs:ess:{region}:{account-id}:queue/{queuename}'."\n" - .'* MNS topic: acs:ess:{region}:{account-id}:topic/{topicname}'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', - ], - 'HeartbeatTimeout' => [ - 'description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the action specified by the **DefaultResult** parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to prolong the timeout period of the lifecycle hook. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end the timeout period ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the backend vServer groups that you want to associate with the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'VServerGroupAttribute', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1443g77****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the backend vServer group as a backend server. If you increase the weight of an ECS instance in a backend vServer group, the number of access requests that are forwarded to the ECS instance increases. If you set the **Weight **parameter of an ECS instance in a backend vServer group to **0**, no access requests are forwarded to the ECS instance. Valid values: 0 to 100. Default value: 50.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to the backend vServer group. Valid values: 1 to 65535.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\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 backend vServer group belongs.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags that you want to add to the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that you want to add to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Department', - ], - 'Value' => [ - 'description' => 'The value of tag N that you want to add to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Finance', - ], - 'Propagate' => [ - 'description' => 'Specifies whether to propagate tag N that you want to add to the scaling group. Valid values:'."\n" - ."\n" - .'* true: propagates tag N to instances that are newly created and does not propagate tag N to instances that are already running in the scaling group.'."\n" - .'* false: does not propagate tag N to any instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'LaunchTemplateOverride', + 'name' => 'ForceAttach', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the instance types that you specify by using the Extended Configurations feature of the launch template.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N that you want to use to override the instance type that is specified in the launch template. If you want to scale instances in the scaling group based on the weighted capacity of the instances, you must specify the **LaunchTemplateOverride.N.InstanceType** and **LaunchTemplateOverride.N.WeightedCapacity** parameters.'."\n" - ."\n" - .'You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the **LaunchTemplateId **parameter.'."\n" - ."\n" - .'For information about the valid values of **InstanceType **in **InstanceTypeOverride.N.InstanceType**, see the [Overview of instance families](~~25378~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. The weight of an instance type specifies the capacity of an instance of the instance type in the scaling group. If you want to scale instances in the scaling group based on the weighted capacity of the instances, you must specify the **LaunchTemplateOverride.N.WeightedCapacity** parameter after you specify the **LaunchTemplateOverride.N.InstanceType** parameter. The values of N in the two parameters must be the same.'."\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" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group during a scale-out cannot exceed the sum of the maximum number of instances that is specified by the **MaxSize **parameter and the maximum weight of the instance types.'."\n" - ."\n" - .'Valid values of **WeightedCapacity **in the **InstanceTypeOverride.N.WeightedCapacity** parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of instance type N that is specified by the `LaunchTemplateOverride.N.InstanceType` parameter. You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the `LaunchTemplateId` parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'Specifies whether to add the existing ECS instances or elastic container instances in the scaling group to the new ALB server group. Valid values:'."\n" + ."\n" + .'- true: The instances are added. The system returns a ScalingActivityId. You can use the scaling activity ID to check whether the existing instances are added.'."\n" + ."\n" + .'- false: The instances are not added.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'AlbServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the Application Load Balancer (ALB) server groups that you want to associate with the scaling group.', + 'description' => 'The list of ALB server groups.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of ALB server groups.', 'type' => 'object', 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of ALB server group N.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group. You can associate only a limited number of ALB server groups with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ALB server groups that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to ALB server group N as a backend server. If you increase the weight of an ECS instance in ALB server group N, the number of access requests that are forwarded to the ECS instance also increases. If you set the **Weight **parameter of an ECS instance in ALB server group N to **0**, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group N. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group.'."\n" - ."\n" - .'> If the N values are the same but the port numbers are different, Auto Scaling associates multiple ports of ALB server group N with the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'N specifies the number of the ALB server group. The number of ALB server groups that can be associated with a scaling group is limited. To view or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance or elastic container instance as a backend server after Auto Scaling adds the instance to the ALB server group. N specifies the number of the ALB server group.'."\n" + ."\n" + .'A higher weight indicates that the instance receives more requests. If the weight is 0, the instance does not receive any requests. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance or elastic container instance after Auto Scaling adds the instance to the ALB server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'> N specifies the number of the ALB server group. If the values of N are the same but the values of Port are different, the system associates the ALB server group with the scaling group multiple times, each with a different port.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ServerGroup', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Details of the server groups.'."\n" - ."\n" - .'>You cannot use the AlbServerGroups parameter and the ServerGroups parameter to specify the same server group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of server group N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-5yc3bd9lfyh*****', - ], - 'Type' => [ - 'description' => 'The type of server group N. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - ."\n" - .'> Auto Scaling supports the following types of server groups: ALB server groups and NLB server groups.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to server group N as a backend server. Valid values: 0 to 100.'."\n" - ."\n" - .'If you increase the weight of an ECS instance in server group N, the number of access requests that are forwarded to the ECS instance also increases. If you set the **Weight **parameter of an ECS instance in server group N to **0**, no access requests are forwarded to the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to server group N. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the ALB server group is added 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 when ForceAttach is set to true.', 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'AzBalance', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across multiple zones. This parameter is available only if 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', - ], - ], - [ - 'name' => 'AllocationStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of instances. 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. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types 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', - ], - ], - [ - '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 is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types 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', + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'MaxInstanceLifetime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to the value of the `Integer.maxValue` parameter.'."\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 parameter is set to recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more ALB server groups', + 'description' => '## Operation description'."\n" + ."\n" + .'To add ALB server groups to a scaling group, the following conditions must be met:'."\n" + ."\n" + .'- The network type of the scaling group must be Virtual Private Cloud (VPC), and the scaling group must reside in the same VPC as the ALB server groups.'."\n" + ."\n" + .'- The ALB server groups must be in the Available state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|AlbServerGroup.NotExist|The ServerGroup "%s" do(es) not exist.|The specified ALB server group does not exist in the current account.|'."\n" + .'|400|AlbServerGroup.AlreadyAttached|The ALB ServerGroups are already attached.|The ALB server groups are already added to the scaling group.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachAlbServerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'AttachDBInstances' => [ + 'summary' => 'Adds one or more ApsaraDB RDS instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CustomPolicyARN', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if you specify **CustomPolicy **as the value of the **RemovalPolicy.1** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92648', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ [ - 'name' => 'ResourceGroupId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to add the scaling group.'."\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', - 'required' => false, - 'example' => 'rg-123****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1avr6ensitts3w****', 'title' => ''], ], [ - 'name' => 'LoadBalancerConfig', + 'name' => 'ForceAttach', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The ID of the SLB instance.'."\n", - 'example' => 'lb-2zefi4w0emxh131bg3l9b', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'description' => 'Auto Scaling adds an ECS instance to a Server Load Balancer CLB server group, and the ECS instance is used as the weight of the backend server. The higher the weight, the more access requests the ECS instance will be assigned. If the weight is 0, the ECS instance does not receive access requests.'."\n" - ."\n" - .'Value range: 0~100.', - 'example' => '10', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - 'description' => 'LoadBalancerConfig', - ], + 'schema' => ['description' => 'Specifies whether to add the private IP addresses of all instances in the current scaling group to the IP whitelist of the RDS instance when the RDS instance is added to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Adds the private IP addresses.'."\n" + ."\n" + .'- false: Does not add the private IP addresses.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'HealthCheckTypes', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + '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, refer to [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'DBInstance', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The ID of the RDS instance. Valid values of N: 1 to 5.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'string', - ], - 'AttachMode' => [ - 'type' => 'string', - ], - ], - ], + 'items' => ['description' => 'The ID of the RDS instance. Valid values of N: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3****', 'title' => ''], + 'required' => true, + 'example' => 'rm-bp12cy3****', 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'CapacityOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'BalanceMode', + 'name' => 'AttachMode', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], + 'schema' => ['description' => 'The mode in which the scaling group is associated with the database. Valid values:'."\n" + ."\n" + .'- SecurityIp: IP whitelist mode. The system automatically adds the private IP addresses of scaled-out instances to the IP whitelist of the database. Currently, only ApsaraDB RDS databases are supported.'."\n" + .'- SecurityGroup: security group mode. The system adds the security group specified in the scaling configuration to the security group whitelist of the database, which allows instances in the security group to access the database.'."\n" + ."\n" + .'Default value: SecurityIp.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], ], [ - 'name' => 'AutoRebalance', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'title' => '自动重新平衡设置', - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS'."\n" + .'- Redis'."\n" + .'- MongoDB'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], ], ], 'responses' => [ @@ -1168,699 +349,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ResourceNotAvailable.VPCNetwork', - 'errorMessage' => 'The specified zone does not support vpc network or sold out.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateScalingGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ScalingGroupId>asg-bp14wlu85wrpchm0****</ScalingGroupId>\\n</CreateScalingGroupResponse>","errorExample":""}]', - 'title' => 'CreateScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more apsaraDB RDS instances', + 'description' => '## Operation description'."\n" ."\n" - .'You can create only a limited number of scaling groups in a region. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check your quota of scaling groups.****'."\n" + .'The following conditions must be met when you add ApsaraDB RDS instances to a scaling group:'."\n" ."\n" - .'A scaling group does not immediately take effect after you create the scaling group. You must call the [EnableScalingGroup](~~25939~~) operation to enable the scaling group. After you enable the scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.'."\n" + .'- The RDS instances and the scaling group must belong to the same Alibaba Cloud account.'."\n" ."\n" - .'The Classic Load Balancer (CLB) instances and ApsaraDB RDS instances that you want to associate with a scaling group must reside in the same region as the scaling group. CLB instances are formerly known as Server Load Balancer (SLB) instances. For more information, see the [Regions and zones](~~40654~~) topic.'."\n" + .'- The RDS instances must be in an unlocked state. For more information about the lock policy, refer to [Chinese documentation](~~41872~~).'."\n" ."\n" - .'If you associate a CLB instance with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server groups of the associated CLB instance. You can specify a server group to which ECS instances can be added. You can add ECS instances to the following types of server groups:'."\n" + .'- The RDS instances must be in the Running state.'."\n" ."\n" - .'* Default server group: a group of ECS instances that are used to receive requests. If you do not specify a vServer group or a primary/secondary server group for a listener, requests are forwarded to the ECS instances in the default server group.'."\n" + .'- If you add an RDS instance that already exists in the scaling group, the number of RDS instances in the scaling group does not change. However, the system attempts to add the private IP addresses of all ECS instances in the scaling group to the IP whitelist of the RDS instance.'."\n" ."\n" - .'* vServer group: If you want to forward requests to backend servers that are not in the default server group or configure domain name-based or URL-based forwarding rules, you can use vServer groups.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all the specified server groups.'."\n" - ."\n" - .' The default weight of an ECS instance that is added as a backend server of a CLB instance is 50. The CLB instance that you want to associate with your scaling group must meet the following requirements:'."\n" - ."\n" - .'* The CLB instance must be in the **Active **state. You can call the [DescribeLoadBalancers](~~27582~~) operation to query the status of the CLB instance.'."\n" - ."\n" - .'* The health check feature must be enabled on all listener ports that are configured for the CLB instance. Otherwise, the scaling group cannot be created.'."\n" - ."\n" - .'If you associated an Application Load Balancer (ALB) or Network Load Balancer (NLB) server group with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the ALB or NLB server group to process requests distributed by the ALB or NLB instance to which the associated server group belongs. You can specify multiple ALB or NLB server groups, but the server groups must belong to the same virtual private cloud (VPC) as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" - ."\n" - .'If you associated an ApsaraDB RDS instance with a scaling group, Auto Scaling automatically adds the private IP addresses of the ECS instances that are in the scaling group to the IP address whitelist of the ApsaraDB RDS instance. The ApsaraDB RDS instance that you want to associate with your scaling group must meet the following requirements:'."\n" - ."\n" - .'* The ApsaraDB RDS instance must be in the **Running **state. You can call the [DescribeDBInstances](~~26232~~) operation to query the status of the ApsaraDB RDS instance.'."\n" - .'* The number of IP addresses in the IP address whitelist of the ApsaraDB RDS instance cannot exceed the upper limit. For more information, see the [Configure IP address whitelists](~~43185~~) topic.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter of the scaling group to `COST_OPTIMIZED`, take note of the following items:'."\n" - ."\n" - .'* You can use the **OnDemandBaseCapacity**, **OnDemandPercentageAboveBaseCapacity**, and **SpotInstancePools **parameters to specify an instance allocation method based on the cost optimization policy. The specified instance allocation method is prioritized during scaling.'."\n" - .'* If you do not specify the **OnDemandBaseCapacity**, **OnDemandPercentageAboveBaseCapacity**, or **SpotInstancePools **parameter, the instance types that are provided at the lowest price are used to create instances based on the cost optimization policy.'."\n" - ."\n" - .'If you set the `Tag.N.Propagate` parameter of the scaling group to `true`, take note of the following items:'."\n" - ."\n" - .'* Tags that you add to the scaling group cannot be propagated to existing instances in the scaling group. Tags that you add to the scaling group are propagated to only new instances.'."\n" - .'* If you specify instance tags in the scaling configuration that is used to create instances and propagate the tags that you add to the scaling group to the instances, all tags exist at the same time.'."\n" - .'* If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group of the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.'."\n", + .'> After you add an RDS instance, the default group of the RDS IP whitelist can contain a maximum of 1,000 IP addresses. For more information about IP whitelists, refer to [Set a whitelist](~~96118~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteScalingGroup' => [ - 'summary' => 'Deletes a scaling group. ', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92667', - '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 forcibly delete the scaling group and remove and release Elastic Compute Service (ECS) instances in the scaling group when the ECS instances or ongoing scaling activities exist in the scaling group. Valid values:'."\n" - ."\n" - .'* true: The scaling group is disabled and new scaling requests are rejected. After all existing scaling requests are processed, the ECS instances in the scaling group are removed. Then, the scaling group is deleted. If the ECS instances are manually added to the scaling group, the ECS instances are removed. If the ECS instances are automatically created in the scaling group, the ECS instances are removed and released.'."\n" - ."\n" - .'* false: You can set this parameter to false if the following conditions are met:'."\n" - ."\n" - .' * No ongoing scaling activities exist in the scaling group.'."\n" - .' * The Total Capacity parameter is set to 0, which specifies that no ECS instances exist in the scaling group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\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-A3DC0DE3C83E', - ], + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|QuotaExceeded.RDS|"RDS" quota exceeded.|The number of RDS instances in the scaling group exceeds the quota.|'."\n" + .'|400|InvalidDBInstanceId.NotFound|The specified value of parameter "%s" is not valid.|The specified RDS instance does not exist.|'."\n" + .'|400|IncorrectDBInstanceStatus|The instance status of DB instance "%s" does not support this action.|The instance status of the RDS instance does not support this operation.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "%s".|The number of IP addresses in the IP whitelist of the RDS instance exceeds the quota.|'."\n" + .'|400|InvalidInstanceIds.PrivateIpNotFound|Can not find all private ips of instances in specific scaling group.|The private IP addresses of instances in the scaling group cannot be retrieved.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDBInstances'], + ], + ], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteScalingGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteScalingGroupResponse>","errorExample":""}]', - 'title' => 'DeleteScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'Before you call the DeleteScalingGroup operation to delete a scaling group, take note of the following items:'."\n" - ."\n" - .'* If you delete a scaling group, the scaling configuration, scaling rules, scaling activities, and scaling requests related to the scaling group are also deleted.'."\n" - .'* If you delete a scaling group, the scheduled tasks and event-triggered tasks of the scaling group are not deleted. The Server Load Balancer (SLB) instances and ApsaraDB RDS instances with which the scaling group is associated are also not deleted.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', ], - 'ModifyScalingGroup' => [ - 'summary' => 'Modifies a scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AttachInstances' => [ + 'summary' => 'Manually adds ECS instances to a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92709', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '92649', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], '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****', - ], - ], - [ - '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'MinSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances in the scaling group. When the number of ECS instances in the scaling group is less than the value of the MinSize parameter, Auto Scaling automatically adds ECS instances until the number of instances is equal to the value of the `MinSize` parameter.'."\n" - ."\n" - .'> The value of the `MinSize` parameter must be less than or equal to the value of the `MaxSize` parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'MaxSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances in the scaling group. When the number of ECS instances in the scaling group is greater than the value of the MaxSize parameter, Auto Scaling automatically removes ECS instances from the scaling group until the number of instances is equal to the value of the `MaxSize` parameter.'."\n" - ."\n" - .'The value range of the MaxSize parameter varies based on the instance quota. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota of instances that can be added to a scaling group.****'."\n" - ."\n" - .'For example, if the quota of instances that can be added to a scaling group is 2,000, the valid values of the `MaxSize` parameter range from 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '99', - ], - ], - [ - 'name' => 'DefaultCooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown time of the scaling group after a scaling activity is triggered. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'During the cooldown time, Auto Scaling executes only scaling activities that are triggered by event-triggered tasks monitored by CloudMonitor.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', - ], - ], - [ - 'name' => 'RemovalPolicy.1', - 'in' => 'query', - 'schema' => [ - 'description' => 'The first step 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" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'> The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template. The CustomPolicy setting is available only for the RemovalPolicy.1 parameter. If you set the RemovalPolicy.1 parameter to CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestScalingConfiguration', - ], - ], - [ - 'name' => 'RemovalPolicy.2', - 'in' => 'query', - 'schema' => [ - 'description' => 'The second step 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" - ."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - ."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NewestInstance', - ], - ], - [ - 'name' => 'RemovalPolicy.3', - 'in' => 'query', - 'schema' => [ - 'description' => 'The third step 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" - ."\n" - .'> The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestInstance', - ], - ], - [ - '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****', - ], - ], - [ - 'name' => 'HealthCheckType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks on instances in the scaling group.'."\n" - .'* ECS: Auto Scaling performs health checks on ECS instances in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], - ], - [ - '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****', - ], - ], - [ - '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.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], - ], - [ - 'name' => 'OnDemandBaseCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of pay-as-you-go instances required 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 the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of pay-as-you-go instances among the excess instances when the requirement on the minimum number of pay-as-you-go instances is met. Valid values: 0 to 100.'."\n" - ."\n" - .'If the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'SpotInstanceRemedy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to supplement preemptible instances. If you set this parameter to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives a system message that indicates the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'CompensateWithOnDemand', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirement on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as costs and insufficient resources. This parameter takes effect only if you set the MultiAZPolicy parameter in the CreateScalingGroup operation to COST_OPTIMIZED. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - '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 the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - ], - [ - 'name' => 'DesiredCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances that you specify. The expected number cannot be greater than the value of the MaxSize parameter and cannot be less than the value of the MinSize parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - ], - [ - 'name' => 'GroupDeletionProtection', + 'name' => 'Entrusted', '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', - ], + 'schema' => ['description' => 'Specifies whether to entrust the lifecycle of the instance to the scaling group when you manually add an existing instance to the scaling group. Valid values:'."\n" + ."\n" + .'- true: The lifecycle of the instance is managed by Auto Scaling, consistent with instances that are created through automatic creation by the scaling group. The instance is subject to automatic release when it is removed from the scaling group, except when it is removed by invoking the `DetachInstances` operation.'."\n" + .'- false: The lifecycle of the instance is not managed by the scaling group. The instance is not released when it is removed from the scaling group.'."\n" + ."\n" + .'> Settings for this parameter are not supported for subscription instances, managed instances, or instances in the economy mode (stopped) state within the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'MultiAZPolicy', + 'name' => 'InstanceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: The first vSwitch specified by using the VSwitchIds.N parameter has the highest priority. Auto Scaling 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" - ."\n" - .'* COST_OPTIMIZED: Auto Scaling creates ECS instances whose vCPUs are provided at the lowest price during scale-out activities and removes ECS instances whose vCPUs are provided at the highest price during scale-in activities. If preemptible instance types are specified in the active scaling configuration, Auto Scaling preferentially creates preemptible instances. 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" + 'description' => 'Instance ID of the ECS instance, ECI instance, managed instance, or instance in the economy mode (stopped) state within the scaling group that you want to add. Valid values of N: 1 to 20.'."\n" ."\n" - .' **'."\n" + .'Examples:'."\n" ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only when you specify multiple instance types or when you specify at least one preemptible instance type.'."\n" + .'- Instance ID of the ECS instance to add: `i-28wt4****`.'."\n" + .'- Instance ID of the ECI instance to add: `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to add: `mi-2cx*****`.'."\n" + .'- Instance ID of the instance in the economy mode (stopped) state within the scaling group to restart: `i-2cd2f****`.'."\n" ."\n" - .'* BALANCE: Auto Scaling evenly distributes ECS instances across zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly distribute the instances across the zones.'."\n" + .'> Only one type of instance can be processed in a single request.', + 'type' => 'array', + 'items' => ['description' => 'Instance ID of the ECS instance, ECI instance, managed instance, or instance in the economy mode (stopped) state within the scaling group that you want to add. Valid values of N: 1 to 20.'."\n" ."\n" - .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', - ], - ], - [ - 'name' => 'VSwitchIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of vSwitches.'."\n" + .'Examples:'."\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" + .'- Instance ID of the ECS instance to add: `i-28wt4****`.'."\n" + .'- Instance ID of the ECI instance to add: `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to add: `mi-2cx*****`.'."\n" + .'- Instance ID of the instance in the economy mode (stopped) state within the scaling group to restart: `i-2cd2f****`.'."\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.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of vSwitch N. Valid values of N: 1 to 5.'."\n" - ."\n" - .'This parameter is available only if 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 based on the value of N. 1 specifies the highest priority. A greater value of N specifies a lower 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****', - ], + .'> Only one type of instance can be processed in a single request.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => false, - 'example' => 'vsw-bp1oo2a7isyrb8igf****', - 'maxItems' => 8, + 'example' => 'i-28wt4****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'LaunchTemplateOverride', + 'name' => 'LoadBalancerWeight', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.', + 'description' => 'The weight of the ECS instance or ECI instance as a backend server of the load balancing instance.'."\n" + .'> Settings for this parameter are not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.', 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N. The instance type that is specified by using this parameter overrides the instance type that is specified in the launch template. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.InstanceType and LaunchTemplateOverride.N.WeightedCapacity parameters at the same time.'."\n" - ."\n" - .'You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the LaunchTemplateId parameter.'."\n" - ."\n" - .'For information about the valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Overview of instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. The weight of an instance type specifies the capacity of a single instance of the instance type in the scaling group. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.WeightedCapacity parameter after you specify the LaunchTemplateOverride.N.InstanceType parameter. The values of N in the two parameters must be the same.'."\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" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity in the InstanceTypeOverride.N.WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of instance type N that is specified by the `LaunchTemplateOverride.N.InstanceType` parameter. You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the `LaunchTemplateId` parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'AzBalance', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across multiple zones. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" + 'items' => ['description' => 'The weight of the ECS instance or ECI instance as a backend server of the load balancing instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'> Settings for this parameter are not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'AllocationStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create instances. The policy can be applied to pay-as-you-go instances and preemptible instances. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPU to create instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'priority', - ], - ], - [ - '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 is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPU to create preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lowestPrice', - ], - ], - [ - '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. If you set this parameter to 0, the instance has an unlimited life span.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> You cannot specify this parameter for scaling groups that contain elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', - ], - ], - [ - 'name' => 'CustomPolicyARN', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if 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', - ], - ], - [ - 'name' => 'DisableDesiredCapacity', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - [ - 'name' => 'ScalingPolicy', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HealthCheckTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'example' => '50', 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'StopInstanceTimeout', + 'name' => 'LifecycleHook', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to trigger a scale-out lifecycle hook when instances are added to the scaling group. Valid values:'."\n" + .'- true: triggers the lifecycle hook.'."\n" + .'- false: does not trigger the lifecycle hook.'."\n" + ."\n" + .'> This parameter is not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'required' => false, 'title' => ''], ], [ - 'name' => 'CapacityOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'BalanceMode', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], + '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 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' => 'AutoRebalance', + 'name' => 'IgnoreInvalidInstance', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when adding a batch of instances to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is added to the scaling group. If invalid instances exist and valid instances are successfully added, the scaling activity status is displayed as Warning. You can view the invalid instances in the scaling activity details.'."\n" + ."\n" + .'- false: Invalid instances are not ignored when a batch of instances is added to the scaling group. If any invalid instance exists in the batch, the request returns an error.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -1868,235 +526,183 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1crxor24s28xf1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyScalingGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyScalingGroupResponse>","errorExample":""}]', - 'title' => 'ModifyScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'* You cannot modify the settings of the following parameters:'."\n" - ."\n" - .' * RegionId'."\n" - ."\n" - .' * LoadBalancerId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to disassociate your scaling group from a Classic Load Balancer (CLB) instance, you can call the [DetachLoadBalancers](~~85141~~) operation. If you want to associate your scaling group with another CLB instance, you can call the [AttachLoadBalancers](~~85125~~) operation.'."\n" - ."\n" - .' * DBInstanceId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to disassociate your scaling group from an ApsaraDB RDS instance, you can call the [DetachDBInstances](~~85380~~) operation. If you want to associate your scaling group with another ApsaraDB RDS instance, you can call the [AttachDBInstances](~~85379~~) operation.'."\n" - ."\n" - .'* You can modify a scaling group only when the scaling group is in the Active or Inactive state.'."\n" + '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-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Manually add ECS instances to a scaling group', + 'description' => '## Operation description'."\n" ."\n" - .'* If you enable a new scaling configuration, Elastic Compute Service (ECS) instances that are created based on the previous scaling configuration still run as expected in the scaling group.'."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the Active state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" ."\n" - .'* If the total number of instances in the scaling group is greater than the allowed maximum number after you change the value of the MaxSize parameter, Auto Scaling automatically removes excess instances from the scaling group to ensure that the number of instances is within the new range.'."\n" + .'- The following limits apply to ECS instances or Elastic Container Instance (ECI) instances that you want to add to a scaling group:'."\n" + .' - The instances must be in the same region as the scaling group.'."\n" + .' - The instances must be in the Running state.'."\n" + .' - The instances cannot already belong to another scaling group.'."\n" + .' - The payer of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + .' - If the scaling group has a specified VswitchID, ECS instances or ECI instances of the Classic network type cannot be added to the scaling group. ECS instances or ECI instances in a different VPC cannot be added to the scaling group either.'."\n" + .' - If the scaling group does not have a specified VswitchID, ECS instances or ECI instances of the VPC network type cannot be added to the scaling group.'."\n" ."\n" - .'* If the total number of instances in the scaling group is less than the allowed minimum number after you change the value of the MinSize parameter, Auto Scaling automatically adds instances to the scaling group to ensure that the number of instances is within the new range.'."\n" + .'- The following limits apply to managed instances that you want to add to a scaling group:'."\n" + .' - The managed instances must be in the same region as the scaling group.'."\n" + .' - Only managed instances that do not belong to a scaling group can be added to an ECS-type scaling group.'."\n" + .' - Managed instances do not support lifecycle hooks, load balancing association, or health check features.'."\n" + .' - After managed instances are added to an ECS-type scaling group, the scaling group does not manage the lifecycle of the managed instances.'."\n" + .' - Managed instances can only be manually added to or removed from a scaling group. Managed instances are not released after they are removed.'."\n" ."\n" - .'* If the total number of instances in the scaling group does not match the expected number of instances after you change the value of the DesiredCapacity parameter, Auto Scaling automatically adds instances to or removes instances from the scaling group to ensure that the number of instances matches the value of the DesiredCapacity parameter.'."\n", + .'- Take note of the following items when you invoke this operation:'."\n" + .' - When no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time (Cooldown) and be executed immediately.'."\n" + .' - A successful invocation only indicates that Auto Scaling has accepted the request. The scaling activity can be executed, but a successful invocation does not guarantee that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned ScalingActivityId.'."\n" + .' - If the number of instances specified in this operation plus the current number of instances in the scaling group (Total Capacity) exceeds the maximum size (MaxSize), the invocation is failed.'."\n" + .' - ECS instances, ECI instances, or managed instances that are manually added by invoking this operation are not associated with the active scaling configuration of the scaling group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'EnableScalingGroup' => [ - 'summary' => '启用一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to invoke API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is not in the Active state.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or ECI instance does not exist in the current account.|'."\n" + .'|400|InvalidInstanceId. RegionMismatch|Instance "XXX" and the specified scaling group are not in the same Region.|The specified ECS instance or ECI instance is not in the same region as the scaling group.|'."\n" + .'|400|InvalidInstanceId.InstanceTypeMismatch|Instance "XXX" and existing Active scaling configurations have different instance types.|The instance type of the specified ECS instance or ECI instance does not match the scaling configuration.|'."\n" + .'|400|IncorrectInstanceStatus|The current status of instance "XXX" does not support this action.|The specified ECS instance or ECI instance is not in the Running state.|'."\n" + .'|400|InvalidInstanceId. NetworkTypeMismatch|The network type of instance "XXX" does not support this action.|The network type of the ECS instance or ECI instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidInstanceId.VPCMismatch|Instance "XXX" and the specified scaling group are not in the same VPC.|The specified scaling group and the ECS instance or ECI instance to add are not in the same VPC.|'."\n" + .'|400|InvalidInstanceId.InUse|Instance "XXX" is already attached to another scaling group.|The specified ECS instance or ECI instance already belongs to another scaling group.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the specified scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The load balancing instance associated with the specified scaling group is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|The health check is not enabled for the load balancing instance associated with the specified scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instance or ECI instance in the specified load balancing instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instance or ECI instance in the load balancing instance associated with the scaling group is not in the same VPC as the specified vSwitch.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the specified scaling group is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the specified scaling group has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances or ECI instances in the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.MaxSize|To attach the instances, the total capacity will be greater than the MaxSize.|The number of ECS instances or ECI instances to add causes the Total Capacity to exceed the MaxSize.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'AttachLoadBalancers' => [ + 'summary' => 'Adds one or more load balancing instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92696', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], + 'abilityTreeCode' => '92650', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1avr6ensitts3w****', 'title' => ''], ], [ - 'name' => 'ActiveScalingConfigurationId', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you need to put into the Active state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], + 'schema' => ['description' => 'Specifies whether to add all existing instances in the scaling group as backend servers of the load balancing CLB (formerly SLB) instances. Valid values:'."\n" + .' '."\n" + .'- true: All existing instances in the scaling group are added as backend servers of the load balancing instances when the load balancing instances are added to the scaling group.'."\n" + .' > If a load balancing instance has already been added to the scaling group and you want to add all instances in the scaling group as backend servers of the load balancing instance, you can add the load balancing instance to the scaling group again with the `ForceAttach` parameter set to `true`.'."\n" + ."\n" + .'- false: Existing instances in the scaling group are not added as backend servers of the load balancing instances when the load balancing instances are added to the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that you want to use to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'Async', '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.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'Specifies whether to use asynchronous invocation when adding load balancing CLB (formerly SLB) instances. Asynchronous invocation ensures the transactional nature of the operation, which means that either all operations execute successfully or none of the operations take effect if one is failed. Use asynchronous invocation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Asynchronous invocation. The request returns the ID of the scaling activity.'."\n" + ."\n" + .'- false: Synchronous call.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'LoadBalancer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of instance N that you want to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Before you add ECS instances to a scaling group, make sure that the instances meet the following requirements:'."\n" - ."\n" - .'* The instances and the scaling group must reside in the same region.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not in other scaling groups.'."\n" - .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for the scaling group, the instances must reside in the same virtual private cloud (VPC) as the specified vSwitch. Instances reside in the classic network or other VPCs cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for the scaling group, the ECS instances must not reside in VPCs.', + 'description' => 'The IDs of the load balancing CLB (formerly SLB) instances to be added. Valid values of N: 1 to 5.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of instance N that you want to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Before you add ECS instances to a scaling group, make sure that the instances meet the following requirements:'."\n" - ."\n" - .'* The instances and the scaling group must reside in the same region.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not in other scaling groups.'."\n" - .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for the scaling group, the instances must reside in the same virtual private cloud (VPC) as the specified vSwitch. Instances reside in the classic network or other VPCs cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for the scaling group, the ECS instances must not reside in VPCs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-283vv****', - ], - 'required' => false, - 'example' => 'i-283vv****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The weight of instance N that serves as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" + 'items' => ['description' => 'The IDs of the load balancing CLB (formerly SLB) instances to be added. Valid values of N: 1 to 5.'."\n" ."\n" - .'Default value: 50.', - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of instance N that serves as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + .'> You can add up to five load balancing instances to a scaling group at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs****', 'title' => ''], 'required' => false, - 'example' => '50', - 'maxItems' => 100, + 'example' => 'lb-2zeur05gfs****', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'LaunchTemplateOverride', + 'name' => 'LoadBalancerConfig', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the instance types that you specify by using the Extended Configurations feature of the launch template.', + 'description' => 'The load balancing CLB (formerly SLB) configuration list.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The load balancing CLB (formerly SLB) configuration list.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'If you want to scale instances in the scaling group based on the weighted capacity of instance types, you must specify the LaunchTemplateOverride.N.InstanceType and LaunchTemplateOverride.N.WeightedCapacity parameters at the same time.'."\n" - ."\n" - .'This parameter specifies instance type N that overrides the instance type specified in the launch template. You can specify N instance types in the extended configurations of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter takes effect only when the LaunchTemplateId parameter is specified.'."\n" - ."\n" - .'For information about the valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'If you want to scale instances in the scaling group based on the weighted capacity of instance types, you must specify the LaunchTemplateOverride.N.WeightedCapacity parameter after you specify the LaunchTemplateOverride.N.InstanceType parameter. The two parameters have a one-to-one correspondence. The value of N in the two parameters must be the same.'."\n" - ."\n" - .'This parameter specifies the weight of the instance type. The weight specifies the capacity of a single 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.'."\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" - .'Examples:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity, Auto Scaling creates two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum capacity that is specified by MaxSize and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity in LaunchTemplateOverride.N.WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'LoadBalancerId' => ['description' => 'The ID of the load balancing CLB (formerly SLB) instance.', 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server after Auto Scaling adds the instance to the CLB server group. A higher weight indicates that the instance receives more requests. If the weight is 0, the instance does not receive any requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -2105,146 +711,151 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This value is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned scaling activity ID and check the execution status of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableScalingGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</EnableScalingGroupResponse>","errorExample":""}]', - 'title' => 'EnableScalingGroup', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more load balancing instances', + 'description' => '## Operation description'."\n" + ."\n" + .'When you add load balancing instances to a scaling group, the following conditions must be met: '."\n" ."\n" - .'You can call this operation to enable a scaling group that is in the Inactive state and has an instance configuration source. The instance configuration source can be a scaling configuration, a launch template, or Elastic Compute Service (ECS) instances that you specified when you created the scaling group. If a scaling group is not in the Inactive state or does not have an instance configuration source, you cannot call this operation to enable the scaling group.'."\n" + .'- The load balancing instances and the scaling group must belong to the same Alibaba Cloud account and the same region.'."\n" ."\n" - .'> A scaling group can have only one active instance configuration source at a time. When you call this operation to enable a scaling group, you can specify a scaling configuration or a launch template for the scaling group. If an instance configuration source is configured for the scaling group before you call this operation, the scaling configuration or launch template that you specify in the request overwrites the original configuration or template.'."\n" + .'- The load balancing instances must be in the `Running` state. '."\n" ."\n" - .'If you specify a value for the InstanceId.N parameter when you call the operation, Auto Scaling checks whether the total number of ECS instances is within the range allowed for the scaling group after you call the operation.'."\n" + .'- The load balancing instances must have at least one listener configured and health checks must be enabled.'."\n" ."\n" - .'* If the total number of ECS instances is less than the minimum number of instances allowed in the scaling group after you call the operation, Auto Scaling automatically creates the required number of pay-as-you-go ECS instances to reach the minimum number. For example, if the minimum number of instances allowed in your scaling group is five, and you specify the InstanceId.N parameter to add two created ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.'."\n" - .'* If the total number of instances is greater than the maximum number of instances allowed in the scaling group, the operation fails to be called.'."\n", + .'- If both the load balancing instances and the scaling group are of the VPC network type, they must be in the same VPC.'."\n" + ."\n" + .'- If the scaling group is of the VPC network type and the load balancing instances are of the classic network type, and the backend servers of the load balancing instances include VPC-connected instances, those instances must be in the same VPC as the scaling group.'."\n" + ."\n" + .'- The number of load balancing instances associated with the scaling group cannot exceed the quota limit. For more information, see [Limits](~~25863~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DisableScalingGroup' => [ - 'summary' => '停用一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HTTP status code|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to invoke API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|400|QuotaExceeded.LoadBalancer|LoadBalancer quota exceeded in the scaling group "%s".|The number of load balancing instances in the scaling group exceeds the quota limit.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The load balancer "%s" does not exist.|The specified load balancing instance does not exist.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The load balancer "%s" and the specified scaling group are not in the same Region.|The load balancing instance and the scaling group are not in the same region.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the load balancer "%s" does not support this action.|The instance status of the load balancing instance does not support this operation.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of the load balancer "%s" does not support this action.|Health checks are not enabled for the load balancing instance.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC.|The load balancing instance and the scaling group are not in the same VPC.|'."\n" + .'|400|QuotaExceeded.BackendServer|Backend server quota exceeded in the load balancer "%s".|The number of backend servers of the load balancing instance exceeds the quota limit.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The scaling configuration that is enabled for the scaling group does not exist.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLoadBalancers'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'AttachServerGroups' => [ + 'summary' => 'Adds one or more load balancing server groups to a scaling group. Supported server group types include Application Load Balancer (ALB) and Network Load Balancer (NLB).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92694', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166340', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableScalingGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DisableScalingGroupResponse>","errorExample":""}]', - 'title' => 'DisableScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'When you disable a scaling group, take note of the following items:'."\n" - ."\n" - .'* If scaling activities are being executed in the specified scaling group when you call this operation, these activities will continue until they are complete. However, scaling activities that are triggered after this operation is called will be rejected.'."\n" - .'* This operation can be called only when the scaling group is in the Active state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'SetGroupDeletionProtection' => [ - 'summary' => '为伸缩组开启或关闭删除保护', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92717', - 'abilityTreeNodes' => [ - 'FEATUREessF87COY', + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'GroupDeletionProtection', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection. After deletion protection is enabled, you cannot delete the scaling group by using the console or by calling an API operation. Before you delete a scaling group, you must disable deletion protection for the scaling group.'."\n" - .'* false: disables deletion protection.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'Specifies whether to add the existing ECS instances or Elastic Container Instance (ECI) instances in the scaling group to the new server group. Valid values:'."\n" + ."\n" + .'- true: Adds the instances.'."\n" + ."\n" + .'- false: Does not add the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ServerGroup', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'description' => 'The information about the load balancing server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the load balancing server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the load balancing server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-60ofsqhwer0b***', 'title' => ''], + 'Type' => ['description' => 'The type of the load balancing server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance or ECI instance as a backend server after Auto Scaling adds the instance to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight indicates that the instance is allocated more access requests. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. You cannot configure this parameter in Settings for GWLB load balancing server groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance or ECI instance after Auto Scaling adds the instance to the server group.'."\n" + ."\n" + .'Valid values: 1 to 65535.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. You cannot configure this parameter in Settings for GWLB load balancing server groups, and the default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -2253,33 +864,42 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the load balancing server group is added and the existing ECS instances or ECI instances in the scaling group are added to the server group.'."\n" + .'> This parameter is returned only when ForceAttach is set to true.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetGroupDeletionProtectionResponse>\\n <RequestId>CCC29E24-3AEC-4F2C-8A14-78B14FA7****</RequestId>\\n</SetGroupDeletionProtectionResponse>","errorExample":""}]', - 'title' => 'SetGroupDeletionProtection', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=SetGroupDeletionProtection\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'AttachLoadBalancers' => [ - 'summary' => 'Associates one or more Classic Load Balancer (CLB) instances with a scaling group.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more load balancing server groups', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachServerGroups'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'AttachVServerGroups' => [ + 'summary' => 'Adds one or more virtual service groups under a load balancing instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2287,102 +907,93 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92650', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'abilityTreeCode' => '92651', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides, such as ap-southeast-1. For more information, refer to [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add all instances in the specified scaling group as backend servers to the SLB instance. Valid values:'."\n" - ."\n" - .'* true: adds all instances.'."\n" - .'* false: does not add all instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + '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 guarantee the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. 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****', - ], + '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, refer to [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use asynchronous calls when you associate an SLB instance with the scaling group. Asynchronous calls ensure the transactional nature of operations, which means that all operations are successfully performed or the execution results do not take effect if some operations fail. We recommend that you use asynchronous calls.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: asynchronous calls. The request returns the ID of the scaling activity.'."\n" - .'* false: synchronous calls.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'LoadBalancer', + 'name' => 'ForceAttach', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of SLB instance N. Valid values of N: 1 to 5.'."\n", - 'example' => 'lb-2zeur05gfs****', - ], - 'required' => false, - 'example' => 'lb-2zeur05gfs****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'Indicates whether to add the ECS instances or elastic container instances in the current scaling group to the new virtual service groups.'."\n" + ."\n" + .'- true: adds the instances.'."\n" + ."\n" + .'- false: does not add the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LoadBalancerConfig', + 'name' => 'VServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The collection of information about the virtual service groups associated with the scaling group.', 'type' => 'array', 'items' => [ + 'description' => 'The collection of information about the virtual service groups associated with the scaling group.', 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', + 'VServerGroupAttribute' => [ + 'description' => 'The virtual service group properties.', + 'type' => 'array', + 'items' => [ + 'description' => 'The virtual service group properties.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the virtual service group. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****', 'title' => ''], + 'Weight' => ['description' => 'The weight that Auto Scaling sets when it adds ECS instances or elastic container instances to the virtual service group. Valid values: 0 to 100. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number that Auto Scaling uses when it adds ECS instances or elastic container instances to the virtual service group. Valid values: 1 to 65535. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.', '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 load balancing instance to which the virtual service group belongs. N specifies the load balancing instance number. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'maxItems' => 20, + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -2391,144 +1002,107 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n" - ."\n" - .'This parameter value is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the IDs of returned scaling activities and view the execution 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-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachLoadBalancersResponse>\\n <ScalingActivityId>asa-bp140qd7mak8k63f****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</AttachLoadBalancersResponse>","errorExample":""}]', - 'title' => 'AttachLoadBalancers', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'AttachVServerGroups', + 'description' => '## Operation description'."\n" + ."\n" + .'- The following conditions must be met when you add virtual service groups to a scaling group:'."\n" + ."\n" + .' - The load balancing instance and the scaling group must belong to the same account.'."\n" + ."\n" + .' - The load balancing instance and the scaling group must be in the same region.'."\n" + ."\n" + .' - The load balancing instance must be in the Running state.'."\n" + ."\n" + .' - The load balancing instance must have at least one listener configured, and health check must be enabled.'."\n" + ."\n" + .' - If both the load balancing instance and the scaling group are in a VPC, they must be in the same VPC.'."\n" + ."\n" + .' - If the network type of the scaling group is VPC and the network type of the load balancing instance is classic network, and the virtual service group contains a VPC-connected instance, the instance must be in the same VPC as the scaling group.'."\n" ."\n" - .'Before you associate an SLB instance with a scaling group, make sure that the following requirements are met:'."\n" + .' - The virtual service groups to be added must belong to the corresponding load balancing instance.'."\n" ."\n" - .'* The SLB instance and the scaling group must be in the same account.'."\n" - .'* The SLB instance and the scaling group must be in the same region.'."\n" - .'* The SLB instance must be in the Running state.'."\n" - .'* The SLB instance must be configured with at least one listener. Health check is enabled for the SLB instance.'."\n" - .'* The SLB instance and the scaling group must be in the same VPC if their network type is VPC.'."\n" - .'* If the network type of the scaling group is VPC, the network type of the SLB instance is classic network, and the SLB backend server contains VPC-type instances, the instance and the scaling group must be in the same VPC.'."\n" - .'* The number of SLB instances cannot exceed the quota for SLB instances that can be associated with the scaling group. For more information about the quota, see [Limits](~~25863~~).'."\n", + .' - The number of virtual service groups in the scaling group cannot exceed the quota. For more information about the quota, refer to [Limits](~~40654~~).'."\n" + ."\n" + .'- When you add virtual service groups to a scaling group, you must specify the following properties:'."\n" + ."\n" + .' - Load balancing instance ID (LoadBalancerId)'."\n" + ."\n" + .' - Virtual service group ID (VServerGroupId)'."\n" + ."\n" + .' - Virtual service group port number (Port)'."\n" + ."\n" + .' >If you add the same virtual service group to a scaling group by using different port numbers, the virtual service group is considered as multiple virtual service groups in the scaling group. If the virtual service group ID and port number are both duplicated in the request parameters, the first configured group is used by default, and the remaining virtual service groups are ignored.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DetachLoadBalancers' => [ - 'summary' => '移除一个或多个负载均衡CLB实例', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to call API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The load balancer "%s" does not exist.|The specified load balancing instance does not exist in your account.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The load balancer "%s" and the specified scaling group are not in the same Region.|The load balancing instance and the scaling group are not in the same region.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The instance status of the load balancer "%s" does not support this action.|The instance status of the load balancing instance does not support this operation.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of the load balancer "%s" does not support this action.|Health check is not enabled for the load balancing instance.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC.|The load balancing instance and the scaling group are not in the same VPC.|'."\n" + .'|400|InvalidVServerGroupId.ForLoadBalancer|Invalid VServerGroupId For LoadBalancer "%s".|The virtual service group specified by VServerGroupId does not belong to the specified load balancing instance.|'."\n" + .'|400|QuotaExceeded.VServerGroup|VServerGroup quota exceeded in the specified scaling group.|The number of virtual service groups in the scaling group has reached the upper limit.|', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachVServerGroups'], + ], ], + ], + 'CancelInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92691', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'abilityTreeCode' => '232214', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], '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 SLB 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. You can use the client to generate the value, but you must make sure that it 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 idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'Async', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to perform asynchronous calls when you disassociates an SLB instance from the scaling group. Asynchronous calls ensure the transactional nature of operations. This means that the execution results take effect only if all operations are successfully performed. We recommend that you perform asynchronous calls.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: performs asynchronous calls. The request returns the ID of the scaling activity.'."\n" - .'* false: does not perform asynchronous calls.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancer', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of SLB instance N. You can disassociate up to five SLB instances from a scaling group at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs****', - ], - 'required' => true, - 'example' => 'lb-2zeur05gfs****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-aca123sf****', 'title' => ''], ], ], 'responses' => [ @@ -2536,40 +1110,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n" - ."\n" - .'A value of this parameter is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned IDs of the scaling activities and view the execution 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****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachLoadBalancersResponse>\\n <ScalingActivityId>asa-bp140qd7mak8k63f****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</DetachLoadBalancersResponse>","errorExample":""}]', - 'title' => 'DetachLoadBalancers', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachLoadBalancers\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachDBInstances' => [ - 'summary' => '移除一个或多个RDS实例', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'CancelInstanceRefresh', + 'summary' => 'Cancels an instance refresh task. Instances that have already been replaced or added during scale-out are retained.', + 'description' => '## Operation description'."\n" + .'An instance refresh task that is being rolled back cannot be canceled.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + '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"}]', + ], + 'ChangeResourceGroup' => [ + 'summary' => 'Adds a scaling group as a resource to a resource group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2577,84 +1157,29 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92689', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], + 'abilityTreeCode' => '163910', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - ], - [ - 'name' => 'ForceDetach', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the private IP addresses of instances in the scaling group from the whitelist that manages access to the ApsaraDB RDS instance with which the scaling group is associated. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', '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 value, but you must ensure that it 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' => 'DBInstance', + 'name' => 'ResourceType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ApsaraDB RDS instance N. You can disassociate up to five ApsaraDB RDS instances from a scaling group at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3****', - ], - 'required' => true, - 'example' => 'rm-bp12cy3****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The resource type. Only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the scaling group whose resource group you want to change.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], ], [ - 'name' => 'RemoveSecurityGroup', + 'name' => 'NewResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the new resource group to which you want to move the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'rg-aek2ckjqe3****', 'title' => ''], ], ], 'responses' => [ @@ -2662,33 +1187,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachDBInstancesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DetachDBInstancesResponse>","errorExample":""}]', - 'title' => 'DetachDBInstances', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Change the resource group of a scaling group', + 'description' => '## Operation description'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachDBInstances\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'AttachDBInstances' => [ - 'summary' => '添加一个或多个RDS实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- A resource is a cloud service entity that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" + ."\n" + .'- A resource group is a mechanism for managing resources by group within an Alibaba Cloud account. Resource groups help you resolve complex issues related to resource grouping and authorization management within a single cloud account. For more information, see [What is Resource Management](~~94475~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ], + ], + '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' => [ + 'summary' => 'Completes the wait state of a scaling activity ahead of schedule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2696,91 +1233,47 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92648', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], + 'abilityTreeCode' => '92652', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'ash-bp14g3ee6bt3sc98****', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'LifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the internal IP addresses of all instances in the specified scaling group to the whitelist that manages access to 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', - ], + 'schema' => ['description' => 'The token that indicates the wait state of the scaling activity. You can obtain this value from the MNS queue or MNS topic specified by the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'aaaa-bbbbb-cccc-ddddd', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'LifecycleActionResult', '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 it 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****', - ], + 'schema' => ['description' => 'The next action to take after the lifecycle hook wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues responding to a scale-out activity and adds ECS instances to the scaling group. Continues responding to a scale-down activity and removes ECS instances from the scaling group.'."\n" + .'- ABANDON: terminates the scale-out activity and releases the created ECS instances. Continues responding to the scale-down activity and removes ECS instances from the scaling group.'."\n" + .'- ROLLBACK: rejects the release of ECS instances during a scale-down activity and performs a rollback. For a scale-out activity, the effect is the same as ABANDON.'."\n" + ."\n" + .'If you do not specify this parameter, the next action after the lifecycle hook wait state ends remains the `DefaultResult` value configured for the lifecycle hook.'."\n" + ."\n" + .'When multiple lifecycle hooks in a scaling group are triggered simultaneously, the final next action is determined as follows:'."\n" + ."\n" + .'- For a scale-down activity, when the wait state triggered by a lifecycle hook of the `ABANDON` or `ROLLBACK` type ends, the wait states of subsequent lifecycle hooks are completed ahead of schedule.'."\n" + .'- For a `CONTINUE` type lifecycle hook that suspends a scale-down activity, or for a scale-out activity, subsequent lifecycle hooks continue to suspend the scaling activity until the wait state triggered by the last lifecycle hook ends. The final next action is determined by the type of the last lifecycle hook whose wait state ends.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], ], [ - 'name' => 'DBInstance', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ApsaraDB RDS instance N. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3****', - ], - 'required' => true, - 'example' => 'rm-bp12cy3****', - 'maxItems' => 5, - ], + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'AttachMode', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'Type', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -2788,3005 +1281,1513 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachDBInstancesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</AttachDBInstancesResponse>","errorExample":""}]', - 'title' => 'AttachDBInstances', - 'description' => '## Description'."\n" - ."\n" - .'Before you associate an ApsaraDB RDS instance with a scaling group, make sure that the ApsaraDB RDS instance meets the following requirements:'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Complete the wait state of a scaling activity ahead of schedule', + 'description' => '## Operation description'."\n" ."\n" - .'* The ApsaraDB RDS instance and the scaling group must be within the same account.'."\n" - .'* The ApsaraDB RDS instance must be unlocked. For more information about the lock policy, see [Limits](~~41872~~).'."\n" - .'* The ApsaraDB RDS instance must be in the Running state.'."\n" - ."\n" - .'After an ApsaraDB RDS instance is associated with the scaling group, the default whitelist that manages access to the ApsaraDB RDS instance can contain no more than 1,000 IP addresses. For more information, see the "Configure IP address whitelists for the RDS instance" section in the [Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance](~~43185~~) topic.'."\n", + .'You can set the next action after the wait state ends to continue responding to the scaling activity (CONTINUE), abandon the scaling activity (ABANDON), or perform a rollback (ROLLBACK).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'AttachVServerGroups' => [ - 'summary' => '添加负载均衡实例下虚拟服务器组', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is invalid.|The specified parameter value is invalid.|'."\n" + .'|400|LifecycleHookIdAndLifecycleActionToken.Invalid|The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.|The specified LifecycleActionToken does not match the specified LifecycleHookId.|.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CompleteLifecycleAction'], + ], ], + ], + 'CreateAlarm' => [ + 'summary' => 'Creates an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92651', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92653', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Example: cn-hangzhou or cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'TestAlarmTask', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'MetricName', '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 it is unique among different requests. 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****', - ], + 'schema' => ['description' => 'The name of the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values: '."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory utilization (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory utilization (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + .' '."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the internal NIC (count/s).'."\n" + .' '."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory utilization (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the ECS instances in the specified scaling group to the new VServer group.'."\n" - ."\n" - .'* true: adds the ECS instances to the VServer group.'."\n" - .'* false: does not add the ECS instances to the VServer group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ - 'name' => 'VServerGroup', + 'name' => 'Period', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the vServer groups.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'Details of the vServer group attributes.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of VServer group M. N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1jp1rge****', - ], - 'Weight' => [ - 'description' => 'The weight set for the ECS instances that are added to VServer group M. Valid values: 0 to 100.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by Auto Scaling to add the ECS instances to VServer group M. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of SLB instance N with which the VServer group is associated. N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The statistical period for the monitoring metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15'."\n" + .'- 60'."\n" + .'- 120'."\n" + .'- 300'."\n" + .'- 900'."\n" + ."\n" + .'> Only scaling groups of the ECS type support a statistical period of 15 seconds.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '300', 'example' => '300', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'Statistics', + 'in' => 'query', + 'schema' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.'."\n" + ."\n" + .'Default value: Average.', 'type' => 'string', 'required' => false, 'default' => 'Average', 'example' => 'Average', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachVServerGroupsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</AttachVServerGroupsResponse>","errorExample":""}]', - 'title' => 'AttachVServerGroups', - 'description' => '## Description'."\n" - ."\n" - .'Before you add a VServer group to a scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The SLB instance and the scaling group must be in the same account.'."\n" - .'* The SLB instance and the scaling group must be in the same region.'."\n" - .'* The SLB instance must be in the Running state.'."\n" - .'* The SLB instance must be configured with at least one listener. Health check is enabled for the SLB instance.'."\n" - .'* The SLB instance and the scaling group must be in the same VPC if the network type of both of them is VPC.'."\n" - .'* If the network type of the scaling group is VPC, the network type of the SLB instance is classic network, and the VServer group contains VPC-type instances, the instance and the scaling group must be in the same VPC.'."\n" - .'* The VServer group to be added to the scaling group must be associated with the SLB instance.'."\n" - .'* The number of VServer groups cannot exceed the quota for VServer groups in the scaling group. For more information about the quota, see [Limits](~~25863~~).'."\n" - ."\n" - .'You must set the following parameters to specify the VServer groups to be added:'."\n" - ."\n" - .'* VServerGroup.N.LoadBalancerId: the ID of the SLB instance'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.VServerGroupId: the ID of the VServer group'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.Port: the port number of the VServer group'."\n" - ."\n" - .'If you use different ports to add a VServer group to a scaling group, Auto Scaling considers that multiple VServer groups are added to the scaling group. If multiple VServer groups with the same group ID and port number are specified in the request parameters, only the first VServer group is used. The other VServer groups are ignored.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachVServerGroups' => [ - 'summary' => '移除一个或者多个虚拟服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Threshold', + 'in' => 'query', + 'schema' => ['description' => 'The threshold of the monitoring metrics. An alert is triggered and the scaling rule is executed when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80.0', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92692', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'ComparisonOperator', + 'in' => 'query', + 'schema' => ['description' => 'The comparison operator between the aggregated value of the monitoring metric and the threshold. This parameter specifies the relationship under which the condition is met. Valid values:'."\n" + ."\n" + .'- The aggregated value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The aggregated value is less than or equal to the threshold. Value: <=.'."\n" + .'- The aggregated value is greater than the threshold. Value: >.'."\n" + .'- The aggregated value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'required' => false, 'default' => '>=', 'example' => '>=', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'EvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Example: cn-hangzhou or cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The number of consecutive times that the threshold expression must be met before the scaling rule is executed. For example, the average CPU utilization must be greater than or equal to 80% for three consecutive statistical periods.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '3', 'example' => '3', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The ID of the CloudMonitor application group to which the custom monitoring metric belongs. This parameter is required only when MetricType is set to custom.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Effective', + 'in' => 'query', + 'schema' => ['description' => 'The effective period of the event-triggered task. By default, the event-triggered task is effective at all times.'."\n" + ."\n" + .'This parameter follows cron expressions. The default format is `X X X X X ?`, where:'."\n" + .'- X: a placeholder for a field, which represents seconds, minutes, hours, day of month, and month in sequence. X can be a specific value or a special character with logical meaning. For more information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + ."\n" + .'- ?: specifies no value.'."\n" + ."\n" + .'> The value of this parameter is **in the UTC+8 time zone by default**. You can add the time zone information `TZ=+yy` before the cron expression to specify a time zone, where y represents the numeric value of the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is effective between 01:00 and 02:59 in the UTC+0 time zone every day.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- `* * * * * ? `: effective at all times.'."\n" + ."\n" + .'- `* * 17-18 * * ? `: effective between 17:00 and 18:59 in the UTC+8 time zone every day.'."\n" + ."\n" + .'- `TZ=+00 * * 1-2 * * ?`: effective between 01:00 and 02:59 in the UTC+0 time zone every day.', 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], + ], + [ + 'name' => 'AlarmAction', 'in' => 'query', + 'style' => 'repeatList', '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 it is unique among different requests. 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', + 'description' => 'The unique identifier of the scaling rule associated with the event-triggered task.', + 'type' => 'array', + 'items' => ['description' => 'The unique identifier of the scaling rule associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'ForceDetach', + 'name' => 'Dimension', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to remove the ECS instances in the specified scaling group from the VServer group to be removed.'."\n" - ."\n" - .'* true: removes the ECS instances.'."\n" - .'* false: does not remove the ECS instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The list of dimensions associated with the monitoring metric.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of dimensions associated with the monitoring metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension associated with the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), you can specify any value.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: your account ID.'."\n" + .' - scaling_group: the scaling group to be monitored.'."\n" + .' - device: the type of the network interface controller (NIC) device.'."\n" + .' - state: the state of the TCP connection.'."\n" + .' - rulePool: the server group specified for the ALB QPS monitoring metrics node.', 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the monitoring metric. Valid values are determined by Dimension.N.DimensionKey:'."\n" + ."\n" + .'- If Dimension.N.DimensionKey is a custom value, meaning the event-triggered task is of the custom monitoring type (MetricType=custom), you can specify any value.'."\n" + ."\n" + .'- If Dimension.N.DimensionKey is a system-specified value, meaning the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: automatically populated by the system.'."\n" + ."\n" + .' - scaling_group: automatically populated by the system.'."\n" + ."\n" + .' - device:'."\n" + ."\n" + .' - eth0: for classic network instances, eth0 represents the internal NIC. For VPC-connected instances, only the eth0 NIC exists.'."\n" + .' - eth1: for classic network instances, eth1 represents the public NIC.'."\n" + ."\n" + .' - state:'."\n" + ."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.'."\n" + .' - rulePool: the ID of the ALB server group. Example: sgp-xxxxx.', 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VServerGroup', + 'name' => 'Expression', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the vServer groups.', + 'description' => 'The information about multi-metric alert rules.', 'type' => 'array', 'items' => [ + 'description' => 'The information about multi-metric alert rules.', 'type' => 'object', 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'Details of the vServer group attributes.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of VServer group M.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1jp1rge****', - ], - 'Port' => [ - 'description' => 'The port number that is used by Auto Scaling to add the ECS instances to VServer group M. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with the SLB instance. Valid values of M: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of SLB instance N with which the VServer group is associated.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1p90y3ya9h8s62d****', - ], + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory utilization (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory utilization (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + .' '."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + .' '."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory utilization (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the aggregated value of the monitoring metric and the threshold in the multi-metric alert rule. This parameter specifies the relationship under which the condition is met. Valid values:'."\n" + ."\n" + .'- The aggregated value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The aggregated value is less than or equal to the threshold. Value: <=.'."\n" + .'- The aggregated value is greater than the threshold. Value: >.'."\n" + .'- The aggregated value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring 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" + .'> Only scaling groups of the ECS type support a statistical period of 15 seconds.'."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.'."\n" + ."\n" + .'Default value: Average.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. An alert is triggered and the scaling rule is executed when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => ['description' => 'The relationship between multiple metric alert conditions. Valid values:'."\n" + ."\n" + .'- `&&`: an alert is triggered only when all monitoring metrics meet the alert conditions. An alert is triggered only when all expressions in the multi-metric alert rule evaluate to `true`.'."\n" + .'- `||`: an alert is triggered when any monitoring metric meets the alert condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachVServerGroupsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DetachVServerGroupsResponse>","errorExample":""}]', - 'title' => 'DetachVServerGroups', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create an event-triggered task', + 'description' => '## Operation description'."\n" ."\n" - .'You must set the following parameters to specify the VServer groups to be removed:'."\n" + .'- If you create an event-triggered task of the custom monitoring type (MetricType=custom), you must report custom monitoring metrics to CloudMonitor in advance. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" ."\n" - .'* VServerGroup.N.LoadBalancerId: the ID of the SLB instance'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.VServerGroupId: the ID of the VServer group'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.Port: the port number of the VServer group'."\n" + .'- When you create an event-triggered task, you must specify a monitoring metric (MetricName) and use dimension information (Dimension.N.DimensionKey and Dimension.N.DimensionValue) to determine the aggregation scope of the monitoring metric data in the scaling group. For example, you can specify user\\_id and scaling\\_group to aggregate the monitoring metric data of all ECS instances or elastic container instances in the scaling group of the specified user.'."\n" + .' - The monitoring metrics of event-triggered tasks of the custom monitoring type (MetricType=custom) depend on your custom monitoring metrics. '."\n" + .' - For more information about the monitoring metrics supported by event-triggered tasks of the system monitoring type (MetricType=system), see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n" ."\n" - .'If the VServer groups specified in the request parameters match VServer groups in the scaling group, the matched VServer groups are removed. If no VServer groups specified in the request parameters match VServer groups in the scaling group, the request is ignored and no error is reported.'."\n", + .'> In the dimension information, user_id and scaling_group are automatically populated by the system. You must manually specify device and state. For more information, see the Dimension.N.DimensionKey and Dimension.N.DimensionValue parameters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeScalingGroups' => [ - 'summary' => '查询伸缩组列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified value of parameter "%s" is invalid.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAlarm'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CreateEciScalingConfiguration' => [ + 'summary' => 'Creates a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92683', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92654', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + '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' => 'PageNumber', + 'name' => 'ScalingConfigurationName', '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, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + '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 a region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'SecurityGroupId', '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', - 'enumValueTitles' => [ - 10 => '10', - ], - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'ECI实例所属的安全组ID。同一个安全组内的ECI实例之间可以互相访问。'."\n" + ."\n" + .'如果没有指定安全组,系统将自动使用您选择的地域下的默认安全组,您需要确保该安全组的入方向规则中包含容器需要暴露的协议和端口。如果您在该地域下没有默认安全组,系统将自动创建一个默认安全组,并将您声明的容器协议和端口添加到该安全组的入方向规则中。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName', + 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the ECI instance, which is also the container group name.'."\n" + ."\n" + .'To set sequential names, use the format `name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix`.'."\n" + ."\n" + .'- **name_prefix**: the prefix of the hostname.'."\n" + ."\n" + .'- **(AUTO_INCREMENT)**: a fixed value that indicates the sequential naming method.'."\n" + ."\n" + .'- **begin_number**: the start value of the sequential number. Valid values: `[0,999999]`.'."\n" + ."\n" + .'- **bits**: the number of digits of the sequential number. Valid values: `[1,6]`. If the number of digits of begin_number is greater than the value of bits, bits defaults to 6.'."\n" + .'> Set bits to at least 3. Otherwise, the sequential number may reach the upper limit. If the upper limit is reached and scale-out is still required, the scaling activity reports an error and stops the scale-out. In this case, you must reconfigure the hostname naming rule.'."\n" + ."\n" + .'- **name_suffix** (optional): the suffix of the hostname.'."\n" + ."\n" + .'> `[begin_number,bits]` cannot contain spaces. The system increments the sequential number by default. However, if an ECI instance fails to start during scale-out, the scaling group removes the instance and creates a new one. As a result, the hostnames of ECI instances in the scaling group may not be consecutive.'."\n" + ."\n" + .'**Example:** If you set this parameter to `nginx-test-(AUTO_INCREMENT)[0,3]`, the container group names are nginx-test-000, nginx-test-001, and nginx-test-002.'."\n" + ."\n" + .'The rules for setting sequential ECI instance names are the same as those for setting sequential ECS instance names. For more information, see [Configure sequential and unique instance names or hostnames](~~203831~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test[0,3]', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.1', + 'name' => 'RestartPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.1 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The restart policy of the ECI instance. Valid values:'."\n" + ."\n" + .'- Always: always restarts the instance.'."\n" + .'- Never: never restarts the instance.'."\n" + .'- OnFailure: restarts the instance upon failure.'."\n" + ."\n" + .'Default value: Always.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.2', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.2 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.3', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.3 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.4', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.4 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.5', + 'name' => 'DnsPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.5 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: uses the DNS configured by the DnsConfig field.'."\n" + .'- Default: inherits the DNS settings from the runtime environment.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.6', + 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.6 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The image cache ID.', 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.7', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.7 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the instance RAM role. ECI and ECS share the same instance RAM role. For more information, see [Instance RAM roles](~~61175~~).', 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.8', + 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.8 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The buffer time for the program to handle operations before shutdown. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.9', + 'name' => 'AutoMatchImageCache', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.9 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.10', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.10 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.11', + 'name' => 'ActiveDeadlineSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.11 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.12', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.12 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance that uses the market price at the time of purchase as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.13', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.13 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The maximum hourly price of the spot instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.14', + 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.14 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether to automatically create an elastic IP address (EIP) and associate it with the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.15', + 'name' => 'EipBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.15 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.16', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.16 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The hostname, which is also the container group name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.17', + 'name' => 'IngressBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.17 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.18', + 'name' => 'EgressBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.18 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.19', + 'name' => 'CpuOptionsCore', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.19 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.20', + 'name' => 'CpuOptionsThreadsPerCore', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.20 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 disables hyper-threading. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'GroupType', + 'name' => 'EphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" - ."\n" - .'* ECS: Elastic Compute Service (ECS) instances'."\n" - .'* ECI: elastic container instances'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'The size of the ephemeral storage. ESSD PL1 cloud disks are used by default. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'ECI实例作为负载均衡后端服务器时的权重,取值范围:1~100。'."\n" + ."\n" + .'默认值:50。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n" - ."\n" - .'The query result does not contain the IDs of inactive scaling groups, and no errors are returned.', + 'description' => 'The tags of the instance as key-value pairs.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of scaling group N that you want to query. Valid values of N: 1 to 20. The query result does not contain the IDs of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', + 'description' => 'The tags of the instance as key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', - 'maxItems' => 20, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ImageRegistryCredential', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n" - ."\n" - .'> If the specified resource group does not contain scaling groups, null is returned.'."\n", - 'type' => 'string', + 'description' => 'The image repository information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository information.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourpassword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'rg-123****', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'Container', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The container information of the instance.', 'type' => 'array', 'items' => [ + 'description' => 'The container information of the instance.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'type' => 'string', + 'ReadinessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Port' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + .'- UDP.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'Value' => [ - 'type' => 'string', + 'EnvironmentVar' => [ + 'description' => 'The environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` and underscores (\\_). The name cannot start with a digit.', '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.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', ], - ], - ], - 'maxItems' => 20, - ], - ], - ], - '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' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling groups.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingGroup' => [ - 'description' => 'Details of the scaling groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - '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****', - ], - 'CreationTime' => [ - 'description' => 'The time when the scaling group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'TotalInstanceCount' => [ - 'description' => 'The total number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupName' => [ - 'description' => 'The name of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'dyrSuvBOtO1dEdIlIbp****', - ], - 'SpotInstancePools' => [ - 'description' => 'The number of instance types that are specified. 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`, the default value of this parameter is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that were stopped in Economical Mode in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - '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. The **OnDemandBaseCapacity** parameter specifies the minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ModificationTime' => [ - 'description' => 'The time when the scaling group was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - '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-bp14wlu85wrpchm0****', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Indicates whether pay-as-you-go instances can be automatically created to meet the requirement on the number of ECS instances when the expected capacity of preemptible instances cannot be provided due to reasons such as cost-related issues and insufficient resources. This parameter is available only if you set the `MultiAZPolicy` parameter to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingPolicy' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - ."\n" - .'For information about how to remove instances, see the [RemoveInstances](~~25955~~) topic.'."\n", - 'type' => 'string', - 'example' => 'recycle', - ], - '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', - ], - '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', - ], - '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" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'ProtectedCapacity' => [ - 'description' => 'The number of ECS instances that are in the **Protected** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - '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 performs health checks on ECS instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling group is active. Scaling groups that are in the **Active** state can receive requests to execute scaling rules and trigger scaling activities.'."\n" - .'* Inactive: The scaling group is inactive. Scaling groups that are in the **Inactive** state 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. In addition, the parameter settings of the scaling groups cannot be modified.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - '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. The scaling group cannot be deleted.'."\n" - .'* false: Deletion protection is disabled for the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ActiveScalingConfigurationId' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1et2qekq3ojr33****', - ], - 'GroupType' => [ - 'description' => 'The type of the instances that are managed by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'MultiAZPolicy' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are created based on the value of the VSwitchIds.N parameter. 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" - ."\n" - .'* COST_OPTIMIZED: ECS instances are created based on the unit price of vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs have the lowest price. If you specified preemptible instance types in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the **CompensateWithOnDemand** parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only when multiple instance types are specified or preemptible instances are used.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly redistribute the instances across the zones.'."\n" - ."\n" - .'* COMPOSABLE: You can combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', - 'example' => 'PRIORITY', - ], - 'RemovingCapacity' => [ - 'description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PendingWaitCapacity' => [ - 'description' => 'The number of ECS instances in the **Pending Add** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StandbyCapacity' => [ - 'description' => 'The number of instances that are in the **Standby** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PendingCapacity' => [ - 'description' => 'The number of ECS instances that are being added to the scaling group and still being configured.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template that is used by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], - 'TotalCapacity' => [ - 'description' => 'The total weighted capacity of all ECS instances in the scaling group if the **WeightedCapacity** parameter 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', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - '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 a system message which indicates that the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version of the launch template that is used by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'RegionId' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - 'MaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DefaultCooldown' => [ - 'description' => 'The cooldown period of the scaling group. During the cooldown period, Auto Scaling executes only the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'VServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VServerGroup' => [ - 'description' => 'The backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the Server Load Balancer (SLB) instance to which the backend vServer group belongs.'."\n", - 'type' => 'string', - 'example' => '147b46d767c-cn-qingdao-cm5****', - ], - 'VServerGroupAttributes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'The attributes of the backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-bp12bjrny****', - ], - 'Weight' => [ - 'description' => 'The weight of the backend vServer group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Port' => [ - 'description' => 'The port number that is used by the SLB instance to provide external services.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'LaunchTemplateOverrides' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LaunchTemplateOverride' => [ - 'description' => 'The information about the instance types that are specified by using the Extended Configurations feature of the launch template.', - 'type' => 'array', - 'items' => [ - 'description' => '', - '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 greater weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - '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.', - 'type' => 'string', - 'example' => 'ecs.c5.xlarge', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of the instance type that is specified by the ``InstanceType`` parameter. You can specify 1 to 10 instance types by using the Extended Configurations feature of the launch template.'."\n" - ."\n" - .'>This parameter is available only if you specify the LaunchTemplateId parameter.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - ], - ], - ], - ], - ], - 'AlbServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AlbServerGroup' => [ - 'description' => 'Details of Application Load Balancer (ALB) server groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the ALB server group as a backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - ], - ], - 'ServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServerGroup' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.', - 'type' => 'string', - 'example' => 'sgp-i9ouakeaerr*****', - ], - 'Type' => [ - 'description' => 'The type of the vulnerability. Set the value to **cve**, which indicates image vulnerabilities.'."\n", - 'type' => 'string', - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of the backend vServer group.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by the SLB instance to provide external services.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - ], - ], - 'RemovalPolicies' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RemovalPolicy' => [ - 'description' => 'The instance removal policies. 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" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the OldestScalingConfiguration setting can be a scaling configuration or a launch template. The CustomPolicy setting takes effect only if you specify it as the first step to remove instances. If you specify CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance removal policies. 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" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the OldestScalingConfiguration setting can be a scaling configuration or a launch template. The CustomPolicy setting takes effect only if you specify it as the first step to remove instances. If you specify CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'example' => 'OldestScalingConfiguration', - ], - ], - ], - ], - 'DBInstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DBInstanceId' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'example' => 'rm-bp15556qzebg1****', - ], - ], - ], - ], - 'LoadBalancerIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - 'type' => 'string', - 'example' => 'lb-bp19byhscefk3x0li****', - ], - ], - ], - ], - 'VSwitchIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - ], - ], - ], - 'SuspendedProcesses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SuspendedProcess' => [ - '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', - 'type' => 'array', - 'items' => [ - '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', - 'type' => 'string', - 'example' => 'ScaleIn', - ], - ], - ], - ], - 'SystemSuspended' => [ - 'description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" - ."\n" - .'- true: If the scaling activities fail for more than seven consecutive days, Auto Scaling stops executing scaling activities 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.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MonitorGroupId' => [ - 'description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.', - 'type' => 'string', - 'example' => '1497****', - ], - 'AzBalance' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AllocationStrategy' => [ - 'description' => 'The allocation policy of instances. 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. 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 of the instance types 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', - 'example' => 'priority', - ], - 'SpotAllocationStrategy' => [ - '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 if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order of the instance types 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', - 'example' => 'lowestPrice', - ], - 'MaxInstanceLifetime' => [ - 'description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to the value of the Integer.maxValue parameter.'."\n" - ."\n" - .'Default value: null.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'CustomPolicyARN' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if you specify CustomPolicy as the first step to remove instances.'."\n", - 'type' => 'string', - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], - 'InitCapacity' => [ - 'description' => 'The number of instances that are in the Initialized state before the instances are added to the scaling group.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-123****', - ], - 'LoadBalancerConfigs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerConfig' => [ - 'description' => 'List of CLB (formerly SLB) configurations.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - 'example' => 'lb-2zetlvztvf8952wt8m106', - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the ALB server group as a backend server.', - 'example' => '100', - ], - ], - ], - ], - ], - ], - 'EnableDesiredCapacity' => [ - 'type' => 'boolean', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'type' => 'string', - ], - 'TagValue' => [ - 'type' => 'string', - ], - 'Propagate' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - 'HealthCheckTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HealthCheckType' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'DBInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DBInstance' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'string', - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'SpotCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StopInstanceTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CapacityOptions' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], - 'BalanceMode' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], - 'AutoRebalance' => [ - 'title' => '自动平衡伸缩组', - 'type' => 'boolean', - ], - ], + 'LivenessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'Set this parameter to true when Command is set to /bin/bash.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/', 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Arg' => [ + 'description' => 'The arguments of the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments of the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether to allocate a buffer for standard input in the container runtime. If this parameter is not set, reads from standard input in the container result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.', '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' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory in the container where the volume is mounted.'."\n" + ."\n" + .'> The content in the mount directory of the container is overwritten by the volume content. Use caution when you configure this parameter.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Valid values:'."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'SubPath' => ['description' => 'The subpath of the volume.', 'type' => 'string', 'required' => false, 'example' => 'data2/', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy of the container. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image.'."\n" + .'- IfNotPresent: pulls the image only if it is not available locally.'."\n" + .'- Never: never pulls the image. Only uses the local image.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => '当标准输入为true时,标准输入流将在多个附加会话中是否保持开启状态。'."\n" + ."\n" + .'如果StdinOnce设为true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Command' => [ + '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, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], + 'LivenessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get request when the HTTP request method is used to set the PostStart callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The command executed in the container when the command-line method is used to set the PostStart callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container when the command-line method is used to set the PostStart callback function.', '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 host address for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get request when the HTTP request method is used to set the PreStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The command executed in the container when the command-line method is used to set the PreStop callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container when the command-line method is used to set the PreStop callback function.', '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 host address for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''], ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": {\\n \\"ScalingGroup\\": [\\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 \\"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 \\"VServerGroup\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": {\\n \\"VServerGroupAttribute\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ]\\n },\\n \\"AlbServerGroups\\": {\\n \\"AlbServerGroup\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"ServerGroups\\": {\\n \\"ServerGroup\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"RemovalPolicies\\": {\\n \\"RemovalPolicy\\": [\\n \\"OldestScalingConfiguration\\"\\n ]\\n },\\n \\"DBInstanceIds\\": {\\n \\"DBInstanceId\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ]\\n },\\n \\"SuspendedProcesses\\": {\\n \\"SuspendedProcess\\": [\\n \\"ScaleIn\\"\\n ]\\n },\\n \\"SystemSuspended\\": true,\\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 \\"LoadBalancerConfig\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"Weight\\": 10\\n }\\n ]\\n },\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ]\\n },\\n \\"HealthCheckTypes\\": {\\n \\"HealthCheckType\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"DBInstances\\": {\\n \\"DBInstance\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\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 }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingGroupsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>1</TotalCount>\\n <ScalingGroups>\\n <VpcId>vpc-bp1vwnn14rqpyiczj****</VpcId>\\n <CreationTime>2014-08-14T10:58Z</CreationTime>\\n <TotalInstanceCount>1</TotalInstanceCount>\\n <ScalingGroupName>dyrSuvBOtO1dEdIlIbp****</ScalingGroupName>\\n <SpotInstancePools>5</SpotInstancePools>\\n <StoppedCapacity>1</StoppedCapacity>\\n <OnDemandPercentageAboveBaseCapacity>20</OnDemandPercentageAboveBaseCapacity>\\n <ModificationTime>2014-08-14T10:58Z</ModificationTime>\\n <MinSize>1</MinSize>\\n <ScalingGroupId>asg-bp14wlu85wrpchm0****</ScalingGroupId>\\n <CompensateWithOnDemand>true</CompensateWithOnDemand>\\n <ScalingPolicy>recycle</ScalingPolicy>\\n <RemovingWaitCapacity>1</RemovingWaitCapacity>\\n <ActiveCapacity>1</ActiveCapacity>\\n <OnDemandBaseCapacity>30</OnDemandBaseCapacity>\\n <ProtectedCapacity>1</ProtectedCapacity>\\n <HealthCheckType>ECS</HealthCheckType>\\n <LifecycleState>Active</LifecycleState>\\n <GroupDeletionProtection>true</GroupDeletionProtection>\\n <ActiveScalingConfigurationId>asc-bp1et2qekq3ojr33****</ActiveScalingConfigurationId>\\n <GroupType>ECS</GroupType>\\n <MultiAZPolicy>PRIORITY</MultiAZPolicy>\\n <RemovingCapacity>0</RemovingCapacity>\\n <PendingWaitCapacity>1</PendingWaitCapacity>\\n <StandbyCapacity>1</StandbyCapacity>\\n <PendingCapacity>0</PendingCapacity>\\n <LaunchTemplateId>lt-m5e3ofjr1zn1aw7****</LaunchTemplateId>\\n <TotalCapacity>1</TotalCapacity>\\n <DesiredCapacity>5</DesiredCapacity>\\n <SpotInstanceRemedy>true</SpotInstanceRemedy>\\n <LaunchTemplateVersion>Default</LaunchTemplateVersion>\\n <RegionId>cn-qingdao</RegionId>\\n <VSwitchId>vsw-bp1whw2u46cn8zubm****</VSwitchId>\\n <MaxSize>2</MaxSize>\\n <DefaultCooldown>60</DefaultCooldown>\\n <VServerGroups>\\n <LoadBalancerId>147b46d767c-cn-qingdao-cm5****</LoadBalancerId>\\n <VServerGroupAttributes>\\n <VServerGroupId>rsp-bp12bjrny****</VServerGroupId>\\n <Weight>1</Weight>\\n <Port>22</Port>\\n </VServerGroupAttributes>\\n </VServerGroups>\\n <LaunchTemplateOverrides>\\n <WeightedCapacity>4</WeightedCapacity>\\n <InstanceType>ecs.c5.xlarge</InstanceType>\\n <SpotPriceLimit>0.025</SpotPriceLimit>\\n </LaunchTemplateOverrides>\\n <AlbServerGroups>\\n <AlbServerGroupId>sgp-ddwb0y0g6y9bjm****</AlbServerGroupId>\\n <Weight>100</Weight>\\n <Port>80</Port>\\n </AlbServerGroups>\\n <ServerGroups>\\n <ServerGroupId>sgp-i9ouakeaerr*****</ServerGroupId>\\n <Type>ALB</Type>\\n <Weight>100</Weight>\\n <Port>80</Port>\\n </ServerGroups>\\n <RemovalPolicies>OldestScalingConfiguration</RemovalPolicies>\\n <DBInstanceIds>rm-bp15556qzebg1****</DBInstanceIds>\\n <LoadBalancerIds>lb-bp19byhscefk3x0li****</LoadBalancerIds>\\n <VSwitchIds>vsw-bp1whw2u46cn8zubm****</VSwitchIds>\\n <SuspendedProcesses>ScaleIn</SuspendedProcesses>\\n <SystemSuspended>true</SystemSuspended>\\n <MonitorGroupId>1497****</MonitorGroupId>\\n <AzBalance>false</AzBalance>\\n <AllocationStrategy>priority</AllocationStrategy>\\n <SpotAllocationStrategy>lowestPrice</SpotAllocationStrategy>\\n <CustomPolicyARN>acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name</CustomPolicyARN>\\n <InitCapacity>0</InitCapacity>\\n <ResourceGroupId>rg-123****</ResourceGroupId>\\n <LoadBalancerConfigs>\\n <LoadBalancerId>147b46d767c-cn-qingdao-cm5****</LoadBalancerId>\\n <Weight>10</Weight>\\n </LoadBalancerConfigs>\\n <EnableDesiredCapacity>false</EnableDesiredCapacity>\\n <Tags>\\n <TagKey>Department</TagKey>\\n <TagValue>Finance</TagValue>\\n <Propagate>false</Propagate>\\n </Tags>\\n <HealthCheckTypes>ECS</HealthCheckTypes>\\n <DBInstances>\\n <DBInstanceId>rm-m5eqju85s45mu0***</DBInstanceId>\\n <Type>RDS</Type>\\n <SecurityGroupIds>sg-uf65zt66cf2a0q47***</SecurityGroupIds>\\n </DBInstances>\\n <SpotCapacity>0</SpotCapacity>\\n <StopInstanceTimeout>60</StopInstanceTimeout>\\n <CapacityOptions>\\n <OnDemandBaseCapacity>0</OnDemandBaseCapacity>\\n <OnDemandPercentageAboveBaseCapacity>0</OnDemandPercentageAboveBaseCapacity>\\n <CompensateWithOnDemand>true</CompensateWithOnDemand>\\n <SpotAutoReplaceOnDemand>false</SpotAutoReplaceOnDemand>\\n </CapacityOptions>\\n </ScalingGroups>\\n</DescribeScalingGroupsResponse>","errorExample":""}]', - 'title' => 'DescribeScalingGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingGroups\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingInstances' => [ - 'summary' => '查询伸缩组内ECS实例列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92684', - 'abilityTreeNodes' => [ - 'FEATUREessPMOEEX', - ], - ], - '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' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - ], - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the associated scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', - ], - ], - [ - 'name' => 'HealthStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If ECS instances do not run as expected, Auto Scaling considers the ECS instances unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases automatically created instances among the unhealthy instances.'."\n" - ."\n" - .'Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the instance lifecycles. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.'."\n" - ."\n" - .'> Make sure that you have sufficient balance within your Alibaba Cloud account. If you have overdue payments within your Alibaba Cloud account, pay-as-you-go and preemptible instances are stopped or released. For information about how the states of ECS instances with overdue payments change, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Healthy', - ], - ], - [ - '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 as expected.'."\n" - .'* Pending: The ECS instance is being added to the scaling group. During this process, Auto Scaling adds the ECS instance to the backend server groups of the associated Classic Load Balancer (CLB) instance and adds the private IP address of the ECS instance to the IP address 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 enters the Pending:Wait state. The ECS instance is added to the scaling group only after the lifecycle hook times out.'."\n" - .'* Protected: The ECS instance is being protected. The ECS instance can provide services as expected. However, Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Standby: The ECS instance is on standby. The ECS instance is out of service and the weight of the ECS instance as a backend server is set to zero. Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Stopped: The ECS instance is stopped. The ECS instance is stopped and cannot provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. During this process, Auto Scaling removes the ECS instance from the backend server groups of the associated CLB instance and removes the IP address of the ECS instance from the IP address 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-in activities is created for the scaling group, the ECS instance enters the Removing:Wait state. The ECS instance is removed from the scaling group only after the lifecycle hook times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InService', - ], - ], - [ - 'name' => 'CreationType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how the ECS instance is created. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instance is automatically created by Auto Scaling based on the instance configuration source of the scaling group.'."\n" - .'* Attached: The ECS instance is manually added to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AutoCreated', - ], - ], - [ - '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', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 100.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingActivityId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances. You can specify 1 to 20 instance IDs.'."\n" - ."\n" - .'Invalid instance IDs are not displayed in the query result, and no error is reported.'."\n", - 'type' => 'string', 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - 'maxItems' => 100, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CreationTypes', + 'name' => 'Volume', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The volume information.', 'type' => 'array', 'items' => [ - 'type' => 'string', + 'description' => 'The volume information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the volume. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume: an EmptyDir volume that represents an empty directory.'."\n" + .'- NFSVolume: an NFS volume that represents a Network File System.'."\n" + .'- ConfigFileVolume: a ConfigFile volume that represents a configuration file.'."\n" + .'- FlexVolume: a FlexVolume that uses the FlexVolume plugin to extend storage types and supports mounting cloud disks.'."\n" + .'- HostPathVolume: a HostPath volume that represents a file or directory on the host node.'."\n" + .'- DiskVolume (not recommended): a cloud disk volume. We recommend that you use FlexVolume to mount cloud disks.', 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'DiskVolume的大小。单位:GiB。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'NFS数据卷路径。', 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => '挂载的文件系统类型,默认取决于FlexVolume的script。', 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => '该系统类型不推荐使用,建议您使用`FlexVolume.FsType`参数。', 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'Host目录的类型。例如:File、Directory、Socket等。', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'NFS数据卷是否只读。取值范围:'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'Host上的绝对路径。', 'type' => 'string', 'required' => false, 'example' => '/xx/xx/path', 'title' => ''], + 'FlexVolume.Options' => ['description' => 'FlexVolume对象选项列表。为KV形式,采用JSON传递。'."\n" + ."\n" + .'例如:通过FlexVolume挂载云盘时,Options的格式为`{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`。', 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => '用于FlexVolume的驱动程序名称。', 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'NFS服务器地址。', 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'DiskVolume的ID。', 'type' => 'string', 'required' => false, 'example' => 'd-xx', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'EmptyDirVolume的存储媒介,默认为空,使用node文件系统;支持memory,表示使用内存。', 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'ConfigFileVolumeConfigFileToPath' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative file path of the configuration file.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk=', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 90, + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'EmptyDir数据卷的大小。取值时请带上单位,建议使用Gi或Mi。', 'type' => 'string', 'required' => false, 'example' => '256 Mi', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LifecycleStates', + 'name' => 'InitContainer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The list of init containers.', 'type' => 'array', 'items' => [ - 'type' => 'string', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSpotCount' => [ - 'description' => 'The total number of preemptible instances that run as expected in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'TotalCount' => [ - 'description' => 'The total number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingInstance' => [ - 'description' => 'Details of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to minutes.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11Z', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of the ECS instance as a backend server of the associated CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template.'."\n", - 'type' => 'string', - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy for the preemptible instance. Valid values:'."\n" - ."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'SpotWithPriceLimit', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HealthStatus' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If the ECS instance does not run as expected, Auto Scaling considers the ECS instance unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases automatically created instances among the unhealthy instances.'."\n" - ."\n" - .'Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the instance lifecycles. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.'."\n" - ."\n" - .'> Make sure that you have sufficient balance within your Alibaba Cloud account. If you have overdue payments within your Alibaba Cloud account, pay-as-you-go and preemptible instances are stopped or released. For information about how the states of ECS instances with overdue payments change, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'example' => 'Healthy', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the instance belongs.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'WarmupState' => [ - 'description' => 'The warmup sate of the ECS instance. Valid values:'."\n" - ."\n" - .'* NoNeedWarmup: The instance does not need to be warmed up.'."\n" - .'* WaitingForInstanceWarmup: The instance is being warmed up.'."\n" - .'* InstanceWarmupFinish: The instance is warmed up.'."\n", - 'type' => 'string', - 'example' => 'NoNeedWarmup', - ], - '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 as expected.'."\n" - .'* Pending: The ECS instance is being added to the scaling group. During this process, Auto Scaling adds the ECS instance to the backend server groups of the associated CLB instance and adds the private IP address of the ECS instance to the IP address 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 enters the Pending:Wait state. The ECS instance is added to the scaling group only after the lifecycle hook times out.'."\n" - .'* Protected: The ECS instance is being protected. The ECS instance can provide services as expected. However, Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Standby: The ECS instance is on standby. The ECS instance is out of service and the weight of the ECS instance as a backend server is set to zero. Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Stopped: The ECS instance is stopped. The ECS instance is stopped and cannot provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. During this process, Auto Scaling removes the ECS instance from the backend server groups of the associated CLB instance and removes the IP address of the ECS instance from the IP address 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-in activities is created for the scaling group, the ECS instance enters the Removing:Wait state. The ECS instance is removed from the scaling group only after the lifecycle hook times out.'."\n", - 'type' => 'string', - 'example' => 'InService', - ], - 'CreationType' => [ - 'description' => 'Indicates how the ECS instance is created. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instance is automatically created by Auto Scaling based on the instance configuration source of the scaling group.'."\n" - .'* Attached: The ECS instance is manually added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'AutoCreated', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the associated scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1i65jd06v04vdh****', - ], - 'Entrusted' => [ - 'description' => 'Indicates whether the lifecycles of the ECS instances that are manually added to the scaling group are managed by the scaling group. If the scaling group manages the lifecycles of the ECS instances that are manually added, Auto Scaling releases the ECS instances after Auto Scaling removes the ECS instances from the scaling group. The release rule does not apply to ECS instances that are manually removed from the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight 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 requirement.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CreatedTime' => [ - 'description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to seconds.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11:39Z', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which the ECS instance was added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'InstanceType' => [ - 'description' => 'The type of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.small', - ], - 'ScalingInstanceId' => [ - 'type' => 'string', - ], - 'PrivateIpAddress' => [ - 'type' => 'string', - ], - ], + 'description' => 'The list of init containers.', + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVar' => [ + '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 must match the format `[0-9a-zA-Z]` and underscores (\\_). The name cannot start with a digit.', '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.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerVolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory. The content in the mount directory of the container is overwritten by the volume content.', 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'required' => false, 'example' => 'test-empty', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'required' => false, 'example' => '/usr/local', 'title' => ''], + 'Command' => [ + 'description' => 'The container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], + 'Arg' => [ + 'description' => 'The container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": {\\n \\"ScalingInstance\\": [\\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 \\"InstanceType\\": \\"ecs.n1.small\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingInstancesResponse>\\n <RequestId>B13527BF-1FBD-4334-A512-20F5E9D3****</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <TotalSpotCount>4</TotalSpotCount>\\n <TotalCount>1</TotalCount>\\n <ScalingInstances>\\n <CreationTime>2020-05-18T03:11Z</CreationTime>\\n <LoadBalancerWeight>50</LoadBalancerWeight>\\n <LaunchTemplateId>lt-m5e3ofjr1zn1aw7****</LaunchTemplateId>\\n <InstanceId>i-bp109k5j3dum1ce6****</InstanceId>\\n <SpotStrategy>SpotWithPriceLimit</SpotStrategy>\\n <LaunchTemplateVersion>1</LaunchTemplateVersion>\\n <HealthStatus>Healthy</HealthStatus>\\n <ScalingGroupId>asg-bp1igpak5ft1flyp****</ScalingGroupId>\\n <WarmupState>NoNeedWarmup</WarmupState>\\n <LifecycleState>InService</LifecycleState>\\n <CreationType>AutoCreated</CreationType>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <ScalingConfigurationId>asc-bp1i65jd06v04vdh****</ScalingConfigurationId>\\n <Entrusted>true</Entrusted>\\n <WeightedCapacity>4</WeightedCapacity>\\n <CreatedTime>2020-05-18T03:11:39Z</CreatedTime>\\n <ScalingActivityId>asa-bp1c9djwrgxjyk31****</ScalingActivityId>\\n <InstanceType>ecs.n1.small</InstanceType>\\n <ScalingInstanceId>asi-j6cj1gcte640ekhb****</ScalingInstanceId>\\n <PrivateIpAddress>1**.2*.1**.2**</PrivateIpAddress>\\n </ScalingInstances>\\n</DescribeScalingInstancesResponse>","errorExample":""}]', - 'title' => 'DescribeScalingInstances', - 'description' => '## Description'."\n" - ."\n" - .'You can query ECS instances by scaling group ID, scaling configuration ID, health status, state, and instance creation method.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingActivities' => [ - 'summary' => '查询伸缩活动', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92680', - '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 number of the page to return. 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 to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DnsConfigNameServer', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n" - ."\n" - .'> When you call this operation, you must specify a value for the `ScalingGroupId` or `ScalingActivityId.N` parameter. Otherwise, an error is reported when you call this operation.'."\n", - 'type' => 'string', + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'example' => '172.10.*.**', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'StatusCode', + 'name' => 'DnsConfigSearch', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'Successful', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingActivityId', + 'name' => 'DnsConfigOption', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling activity.', + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of scaling activity N that you want to query.'."\n" - ."\n" - .'> When you call this operation, you must specify a value for the `ScalingGroupId` or `ScalingActivityId.N` parameter. Otherwise, an error is reported when you call this operation.'."\n", - 'type' => 'string', + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The name of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], + ], 'required' => false, - 'example' => 'asa-bp161xudmuxdzofe****', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'HostAliase', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - '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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingActivity' => [ - 'description' => 'Details of the scaling activities.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Progress' => [ - 'description' => 'The execution progress of the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ScalingInstanceNumber' => [ - 'description' => '* If the scaling activity is a scale-out activity, the value of this parameter indicates the number of instances that were scaled out or the number of instances that were started from Economical Mode during the scaling activity.'."\n" - .'* If the scaling activity is a scale-in activity, the value of this parameter indicates the number of instances that were scaled in or the number of instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AttachedCapacity' => [ - 'description' => 'The total number of instances that were manually added to the scaling group after the scaling activity was 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 were automatically 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 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 information about the scaling activity.'."\n", - 'type' => 'string', - 'example' => '\\"1\\" ECS instances are added', - ], - 'CreatedCapacity' => [ - 'description' => 'The number of instances that were created during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DestroyedCapacity' => [ - 'description' => 'The number of instances that were released during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StartedCapacity' => [ - 'description' => 'The number of instances that were started from Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreatedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CreatedInstance' => [ - 'description' => 'The instances that were created during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were created during the scaling activity.', - 'type' => 'string', - 'example' => '["i-abc1","i-abc2"]', - ], - ], - ], - ], - 'DestroyedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DestroyedInstance' => [ - 'description' => 'The instances that were released during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were released during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'StartedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StartedInstance' => [ - 'description' => 'The instances that were started from Economical Mode during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were started from Economical Mode during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'StoppedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StoppedInstance' => [ - 'description' => 'The instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were stopped in Economical Mode during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned when the scaling activity fails.'."\n", - 'type' => 'string', - 'example' => 'OperationDenied.NoStock', - ], - 'ErrorMessage' => [ - 'description' => 'The error message that is returned when the scaling activity fails.'."\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' => [ - 'type' => 'string', - ], - 'TriggerSourceId' => [ - 'type' => 'string', - ], - 'LifecycleHookContext' => [ - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], - 'IgnoredLifecycleHookIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IgnoredLifecycleHookId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'ActivityMetadata' => [ - 'type' => 'string', - ], - 'InstanceRefreshTaskId' => [ - 'type' => 'string', - ], - 'ErrorMessages' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ErrorMessages' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'type' => 'string', - ], - 'Code' => [ - 'type' => 'string', - ], - 'Message' => [ - 'type' => 'string', - ], - 'FailedInstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'FailedInstanceIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address to add.', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1', 'title' => ''], + 'Hostname' => [ + 'description' => 'The hostname to add.', + 'type' => 'array', + 'items' => ['description' => 'The hostname to add.', 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": {\\n \\"ScalingActivity\\": [\\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 \\"CreatedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"DestroyedInstances\\": {\\n \\"DestroyedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StartedInstances\\": {\\n \\"StartedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StoppedInstances\\": {\\n \\"StoppedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"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 \\"IgnoredLifecycleHookId\\": [\\n \\"ash-bp14zolna43z266bq***\\"\\n ]\\n }\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": {\\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 \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingActivitiesResponse>\\n <RequestId>CC107349-57B7-4405-B1BF-9BF5AF7F****</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>1</TotalCount>\\n <ScalingActivities>\\n <Progress>100</Progress>\\n <ScalingInstanceNumber>1</ScalingInstanceNumber>\\n <AttachedCapacity>0</AttachedCapacity>\\n <TotalCapacity>2</TotalCapacity>\\n <ScalingGroupId>asg-bp18p2yfxow2dloq****</ScalingGroupId>\\n <AutoCreatedCapacity>2</AutoCreatedCapacity>\\n <EndTime>2020-09-10T09:54Z</EndTime>\\n <StartTime>2020-09-10T09:54Z</StartTime>\\n <Description>Add \\\\\\"1\\\\\\" ECS instance</Description>\\n <StatusCode>Successful</StatusCode>\\n <Cause>A user requests to execute scaling rule \\\\\\"asr-bp12tcnol686y1ik****\\\\\\", changing the Total Capacity from \\\\\\"1\\\\\\" to \\\\\\"2\\\\\\".</Cause>\\n <ScalingActivityId>asa-bp161xudmuxdzofe****</ScalingActivityId>\\n <StatusMessage>\\\\\\"1\\\\\\" ECS instances are added</StatusMessage>\\n <CreatedCapacity>1</CreatedCapacity>\\n <DestroyedCapacity>1</DestroyedCapacity>\\n <StartedCapacity>1</StartedCapacity>\\n <StoppedCapacity>1</StoppedCapacity>\\n <CreatedInstances>[ \\"i-abc1\\", \\"i-abc2\\" ]</CreatedInstances>\\n <DestroyedInstances>[ \\"i-abc1\\", \\"i-abc2\\" ]</DestroyedInstances>\\n <StartedInstances>[ \\"i-abc1\\", \\"i-abc2\\" ]</StartedInstances>\\n <StoppedInstances>[ \\"i-abc1\\", \\"i-abc2\\" ]</StoppedInstances>\\n <ErrorCode>OperationDenied.NoStock</ErrorCode>\\n <ErrorMessage>The specified ECS resource is out of stock in this region. Please try again later.</ErrorMessage>\\n <Detail>\\"new ECS instances \\"i-j6c8ilerw, i-j6c8iler4mx\\" are created.\\"</Detail>\\n <TriggerSourceType>Api</TriggerSourceType>\\n <TriggerSourceId>2346366580*****</TriggerSourceId>\\n <LifecycleHookContext>\\n <DisableLifecycleHook>false</DisableLifecycleHook>\\n <IgnoredLifecycleHookIds>ash-bp14zolna43z266bq***</IgnoredLifecycleHookIds>\\n </LifecycleHookContext>\\n <ActivityMetadata>{\\\\\\"goatscaler.io/managed\\\\\\":\\\\\\"true\\\\\\"}</ActivityMetadata>\\n <InstanceRefreshTaskId>ir-asdf12adsxg*****</InstanceRefreshTaskId>\\n <ErrorMessages>\\n <Description>Fail to create instances into scaling group.</Description>\\n <Code>OperationDenied.NoStock</Code>\\n <Message>The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.</Message>\\n <FailedInstanceIds>i-8vbedazhjj6a6******</FailedInstanceIds>\\n </ErrorMessages>\\n </ScalingActivities>\\n</DescribeScalingActivitiesResponse>","errorExample":""}]', - 'title' => 'DescribeScalingInstances', - 'description' => '## Description'."\n" - ."\n" - .'* You can specify a scaling group ID to query all scaling activities in the scaling group.'."\n" - .'* You can filter query results based on the status of scaling activities.'."\n" - .'* You can query scaling activities that are executed in the previous 30 days.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingActivityDetail' => [ - 'summary' => '查询一个伸缩活动的详细信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92681', - '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](~~25961~~) 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 about the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingActivityDetailResponse>\\n <RequestId>B13527BF-1FBD-4334-A512-20F5E9D3FB4D</RequestId>\\n <ScalingActivityId>asa-bp1c9djwrgxjyk31****</ScalingActivityId>\\n <Detail>new ECS instances \\\\\\"i-bp16t2cgmiiymeqv****\\\\\\" are created.</Detail>\\n</DescribeScalingActivityDetailResponse>","errorExample":""}]', - 'title' => 'DescribeScalingActivityDetail', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingActivityDetail\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeLimitation' => [ - 'summary' => '查询资源配额限制', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92676', - '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 scheduled task quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - '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 CLB instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxNumberOfMaxSize' => [ - 'description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" - ."\n" - .'> To view the instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfAlbServerGroup' => [ - 'description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the ALB server group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfNlbServerGroup' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaxNumberOfDBInstances' => [ - 'description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the ApsaraDB RDS instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'MaxNumberOfScalingConfigurations' => [ - 'description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" - ."\n" - .'> To view the scaling configuration quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - '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', - ], - 'MaxNumberOfLifecycleHooks' => [ - 'description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'MaxNumberOfScalingInstances' => [ - 'description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be included in each scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - '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 scaling group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB106665E9', - ], - 'MaxNumberOfNotificationConfigurations' => [ - 'description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'MaxNumberOfVServerGroups' => [ - 'description' => 'The maximum number of vServer groups that can be specified for a scaling group when a CLB instance is associated with the scaling group.'."\n" - ."\n" - .'> To view the vServer group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxNumberOfScalingRules' => [ - 'description' => 'The maximum number of scaling rules that can be created for a scaling group.'."\n" - ."\n" - .'> To view the scaling rule quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribeLimitationResponse>\\n <MaxNumberOfScheduledTasks>70</MaxNumberOfScheduledTasks>\\n <MaxNumberOfLoadBalancers>30</MaxNumberOfLoadBalancers>\\n <MaxNumberOfMaxSize>2000</MaxNumberOfMaxSize>\\n <MaxNumberOfAlbServerGroup>30</MaxNumberOfAlbServerGroup>\\n <MaxNumberOfNlbServerGroup>30</MaxNumberOfNlbServerGroup>\\n <MaxNumberOfDBInstances>30</MaxNumberOfDBInstances>\\n <MaxNumberOfScalingConfigurations>70</MaxNumberOfScalingConfigurations>\\n <MaxNumberOfMinSize>2000</MaxNumberOfMinSize>\\n <MaxNumberOfLifecycleHooks>10</MaxNumberOfLifecycleHooks>\\n <MaxNumberOfScalingInstances>500</MaxNumberOfScalingInstances>\\n <MaxNumberOfScalingGroups>200</MaxNumberOfScalingGroups>\\n <RequestId>BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****</RequestId>\\n <MaxNumberOfNotificationConfigurations>6</MaxNumberOfNotificationConfigurations>\\n <MaxNumberOfVServerGroups>5</MaxNumberOfVServerGroups>\\n <MaxNumberOfScalingRules>70</MaxNumberOfScalingRules>\\n</DescribeLimitationResponse>","errorExample":""}]', - 'title' => 'DescribeLimitation', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeLimitation\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeElasticStrength' => [ - 'summary' => 'DescribeElasticStrength', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '232309', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceTypes', + 'name' => 'SecurityContextSysctl', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The system information.', 'type' => 'array', 'items' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The system information.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => '实例运行的安全上下文的变量值。', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax', 'title' => ''], + ], 'required' => false, - 'example' => 'ecs.g6.large', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 50, + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PriorityStrategy', + 'name' => 'NtpServer', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The NTP server.', + 'type' => 'array', + 'items' => ['description' => 'The NTP server.', 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDiskCategories', + 'name' => 'AcrRegistryInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'ACR企业版实例信息。', 'type' => 'array', 'items' => [ - 'type' => 'string', + 'description' => 'ACR企业版实例信息。', + 'type' => 'object', + 'properties' => [ + 'Domain' => [ + 'description' => 'ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号(,)分隔。', + 'type' => 'array', + 'items' => ['description' => 'ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号(,)分隔。', 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceName' => ['description' => 'ACR企业版实例的名称。', 'type' => 'string', 'required' => false, 'example' => 'acr-test', 'title' => ''], + 'InstanceId' => ['description' => 'ACR企业版实例ID。', 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'RegionId' => ['description' => 'ACR企业版实例所属地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 50, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupIds', + 'name' => 'CostOptimization', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - 'required' => false, - 'maxItems' => 50, - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'Specifies whether to enable cost optimization. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'InstanceFamilyLevel', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the requirements. This parameter takes effect only when CostOptimization is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: shared instance types. Lower cost but no guaranteed stability of computing performance. Suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level instance types. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: burstable instance types. CPU credits are used to ensure computing performance. 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' => ''], ], [ - 'name' => 'VSwitchIds', + 'name' => 'InstanceType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Create instances by specifying ECS instance types](~~114664~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageId', + 'name' => 'DataCacheBucket', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ImageName', + 'name' => 'DataCachePL', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The performance level (PL) of the cloud disk used for data caching. We recommend that you use ESSDs. Valid values for ESSD performance levels:'."\n" + ."\n" + .'- PL0: a maximum of 10,000 random read/write IOPS per disk.'."\n" + .'- PL1: a maximum of 50,000 random read/write IOPS per disk.'."\n" + .'- PL2: a maximum of 100,000 random read/write IOPS per disk.'."\n" + .'- PL3: a maximum of 1,000,000 random read/write IOPS per disk.'."\n" + ."\n" + .'Default value: PL1.'."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ - 'name' => 'ImageFamily', + 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk used for data caching. Valid values: 0 to min{50000, 1000 × Capacity - Baseline Performance}, where Baseline Performance = min{1800 + 50 × Capacity, 50000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], ], [ - 'name' => 'DataDiskCategories', + 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 50, - ], + 'schema' => ['description' => 'Specifies whether to enable burst (performance bursting) for the ESSD AutoPL disk used for data caching. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'GpuDriverVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The GPU driver version. Valid values:'."\n" + .'- tesla=470.82.01 (default)'."\n" + .'- tesla=525.85.12'."\n" + ."\n" + .'> Only specific instance types support switching GPU driver versions. For more information, see [Create instances by specifying GPU instance types](~~2579486~~).', 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TotalStrength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ElasticStrength' => [ - 'type' => 'string', - ], - 'ResourcePools' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Strength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.c7t.xlarge', - ], - 'ZoneId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-2ze0uc933kantv******', - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'type' => 'string', - ], - 'InventoryHealth' => [ - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AdequacyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SupplyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HotScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'ElasticStrengthModels' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-wz98mnj7nblv9gc****', - ], - 'ElasticStrength' => [ - 'type' => 'string', - ], - 'TotalStrength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - ], - 'ResourcePools' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.r7.large', - ], - 'Strength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'ZoneId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-2ze6e8p4aid08lymlsguv', - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'type' => 'string', - ], - 'InventoryHealth' => [ - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AdequacyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SupplyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HotScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-uf6fonnghi50u374****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","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\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n }\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4aid08lymlsguv\\"\\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 }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeElasticStrengthResponse>\\n <RequestId>73469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <TotalStrength>1.5</TotalStrength>\\n <ElasticStrength>Strong</ElasticStrength>\\n <ResourcePools>\\n <Strength>0.6</Strength>\\n <InstanceType>ecs.c7t.xlarge</InstanceType>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <VSwitchIds>vsw-2ze0uc933kantv******</VSwitchIds>\\n <Code>InstanceTypesOrDiskTypesNotSupported</Code>\\n <Msg>The instanceTypes or diskTypes are not supported.</Msg>\\n <Status>Available</Status>\\n <InventoryHealth>\\n <HealthScore>3</HealthScore>\\n <AdequacyScore>3</AdequacyScore>\\n <SupplyScore>3</SupplyScore>\\n <HotScore>3</HotScore>\\n </InventoryHealth>\\n </ResourcePools>\\n <ElasticStrengthModels>\\n <ScalingGroupId>asg-wz98mnj7nblv9gc****</ScalingGroupId>\\n <ElasticStrength>Strong</ElasticStrength>\\n <TotalStrength>5</TotalStrength>\\n <ResourcePools>\\n <InstanceType>ecs.r7.large</InstanceType>\\n <Strength>0.6</Strength>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <VSwitchIds>vsw-2ze6e8p4aid08lymlsguv</VSwitchIds>\\n <Code>InstanceTypesOrDiskTypesNotSupported</Code>\\n <Msg>The instanceTypes or diskTypes are not supported.</Msg>\\n <Status>Available</Status>\\n <InventoryHealth>\\n <HealthScore>3</HealthScore>\\n <AdequacyScore>3</AdequacyScore>\\n <SupplyScore>2</SupplyScore>\\n <HotScore>0</HotScore>\\n </InventoryHealth>\\n </ResourcePools>\\n </ElasticStrengthModels>\\n</DescribeElasticStrengthResponse>","errorExample":""}]', - ], - 'VerifyAuthentication' => [ - 'summary' => '检测是否已授权弹性伸缩操作ECS和ECI资源', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + 'title' => 'Create a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'A scaling configuration specifies the ECI instance template used for elastic scale-out.'."\n" + ."\n" + .'The Cpu and Memory parameters specify the range of instance types by defining the CPU and memory requirements. Auto Scaling determines the available instance types based on factors such as I/O optimization and zones, and then creates instances at the lowest price by sorting the instance types by price. This method applies only when the scaling group uses the cost optimization policy and no instance type is specified in the scaling configuration.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InstanceType.Mismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the disk size limit.|'."\n" + .'|403|InvalidDevice.InUse|Device "XXX" has been occupied.|The data cloud disk mount point is duplicated.|'."\n" + .'|400|InvalidImageId.InstanceTypeMismatch|The specified image does not support the specified instance type.|The specified image cannot be used with the specified instance type.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist in this account.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParameter|The specified value of parameter KeyPairName is not valid.|The KeyPairName parameter is not supported for Windows operating systems.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.|The specified system cloud disk type conflicts with the data cloud disk type.|'."\n" + .'|400|InvalidRamRole.NotFound|The specified RamRoleName does not exist.|The specified RamRoleName does not exist.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter ScalingConfigurationName is duplicated.|A scaling configuration with the same name already exists.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|404|InvalidSecurityGroupId.NotFound|The specified security group does not exist.|The specified security group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and the vSwitch do not belong to the same VPC.|'."\n" + .'|403|InvalidSnapshot.TooOld|This operation is denied because the specified snapshot is created before 2013-07-15.|The specified snapshot was created on or before July 15, 2013. The request is denied.|'."\n" + .'|403|InvalidSystemDiskCategory.ValueUnauthorized|The system disk category is not authorized.|You are not authorized to create a system cloud disk of the ephemeral disk type.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData value does not comply with the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData value is too long.|'."\n" + .'|403|QuotaExceeded.EphemeralDiskSize|Ephemeral disk size quota exceeded.|The total capacity of ephemeral data cloud disks exceeds 2 TiB (2048 GiB).|'."\n" + .'|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CreateLifecycleHook' => [ + 'summary' => 'Creates one or more lifecycle hooks for a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92723', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92655', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], ], 'parameters' => [ [ - 'name' => 'Uid', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of your Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1234567812345678', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****', 'title' => ''], ], [ - 'name' => 'OnlyCheck', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to only check the authorization status. Valid values:'."\n" - ."\n" - .'* true: only checks the authorization status and does not create the service-linked role.'."\n" - .'* false: checks the authorization status and automatically creates the service-linked role if Auto Scaling is not authorized to manage ECS resources.'."\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' => 'INNER_euumyufYKqwc8ywxPcP****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'UserNotAuthorizeEss', - 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', - ], + 'schema' => ['description' => 'The name of the lifecycle hook. The name must be unique within the scaling group. 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, digit, or Chinese character.'."\n" + ."\n" + .'Default value: the value of LifecycleHookId.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyAuthenticationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</VerifyAuthenticationResponse>","errorExample":""}]', - 'title' => 'VerifyAuthentication', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=VerifyAuthentication\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'SuspendProcesses' => [ - 'summary' => '暂停伸缩组中的指定流程', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92720', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', + 'name' => 'LifecycleTransition', + 'in' => 'query', + 'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'- SCALE_OUT: scale-out activity of the scaling group.'."\n" + .'- SCALE_IN: scale-down activity of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'SCALE_OUT', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'DefaultResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], + 'schema' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues to response to the scale-out or scale-down activity.'."\n" + .'- ABANDON: releases the ECS instances that are created during the scale-out activity, or removes the ECS instances from the scaling group during the scale-down activity.'."\n" + .'- ROLLBACK: for a scale-down activity, the system deny the release of ECS instances and performs a rollback. For a scale-out activity, the system releases the created ECS instances, which has the same effect as ABANDON.'."\n" + ."\n" + .'When a scale-down activity (SCALE_IN) triggers multiple lifecycle hooks in a scaling group, if the DefaultResult of one lifecycle hook is set to ABANDON or ROLLBACK and the wait state of that hook ends, the wait states of the other lifecycle hooks end early. In other cases, the action to take is determined by the last lifecycle hook whose wait state ends.'."\n" + ."\n" + .'Default value: CONTINUE.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'HeartbeatTimeout', '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 it 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****', - ], + 'schema' => ['description' => 'The wait period that the lifecycle hook sets for the scaling group activity. After the wait state times out, the next action is performed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After a lifecycle hook is created, you can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait period of an ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of a scaling activity early.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], ], [ - 'name' => 'Process', + 'name' => 'NotificationMetadata', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The number of processes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Process N that you want to suspend. Valid values of N: 1 to 100. Valid values:'."\n" - ."\n" - .'* ScaleIn'."\n" - .'* ScaleOut'."\n" - .'* HealthCheck'."\n" - .'* AlarmNotification'."\n" - .'* ScheduledAction'."\n" - ."\n" - .'You can suspend five types of processes. If you specify more than five types, the duplicate types are automatically removed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], - 'required' => true, - 'example' => 'ScaleIn', - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The notification information that is pushed to NotificationArn (the notification recipient) when the lifecycle hook suspends a scaling activity. This parameter helps you manage and tag notification information of different categories. You must also specify NotificationArn. The value can be up to 4,096 characters in length.'."\n" + ."\n" + .'If NotificationArn is set to an OOS template, including a public template or a custom template, NotificationMetadata must be set to a JSON string that matches the parameters of the OOS template.'."\n" + ."\n" + .'For example, `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, where `dbInstanceId` and `modifyMode` are parameters defined in the OOS template. Some parameters of the OOS template have default values. NotificationMetadata must specify parameters that do not have default values. If you specify parameters that have default values, the specified values overwrite the original default values. However, keep the default values for the following parameters, which are used to retrieve relevant information during scaling activities:'."\n" + ."\n" + .'- regionId: the region where the scaling activity is performed. Default value: ${regionId}.'."\n" + ."\n" + .'- instanceIds: the list of instances associated with the scaling activity. Default value: ${instanceIds}.'."\n" + ."\n" + .'- lifecycleHookId: the lifecycle hook ID. Default value: ${lifecycleHookId}.'."\n" + ."\n" + .'- lifecycleActionToken: the identifier of the wait state for the scaling activity, which is used to end the current suspended activity early. Default value: ${lifecycleActionToken}.'."\n" + ."\n" + .'- scalingGroupId: the ID of the scaling group to which the scaling activity belongs. Default value: ${scalingGroupId}.'."\n" + ."\n" + .'- lifecycleActionResult: the action to take after the lifecycle hook wait state ends, which is used to end the current suspended activity early when the OOS template fails. When DefaultResult is set to ROLLBACK, the default value is ROLLBACK. In other cases, the default value is ABANDON.'."\n" + .'>- You can set the value of lifecycleActionResult to overwrite the current default value. Valid values: ABANDON, CONTINUE, ROLLBACK, and ${lifecycleActionResult}. ${lifecycleActionResult} indicates that the value of lifecycleActionResult is consistent with the value of DefaultResult.'."\n" + .'- You can obtain detailed information about the parameters of the corresponding template in the [OOS console](https://oos.console.aliyun.com/).', 'type' => 'string', 'required' => false, 'example' => 'Test lifecycle hook.', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient of the lifecycle hook. If this parameter is not set, no notification is sent. The following notification methods are supported when you set this parameter:'."\n" + ."\n" + .'- MNS queue. The value is in the format of `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. The value is in the format of `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template. The value is in the format of `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge. The value is in the format of `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the format have the following meanings:'."\n" + ."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID. The account ID of a Resource Access Management (RAM) user is not supported.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], ], 'responses' => [ @@ -5794,161 +2795,132 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51B30', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp1at9ufhmcf9cmy****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB5****\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendProcessesResponse>\\n <RequestId>3E2033F0-03B4-419D-BCE2-C2339DB5****</RequestId>\\n</SuspendProcessesResponse>","errorExample":""}]', - 'title' => 'SuspendProcesses', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]', + 'title' => 'Create one or more lifecycle hooks for a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- A scaling group can have a maximum of 6 lifecycle hooks. When a scaling activity occurs in a scaling group that has lifecycle hooks, the lifecycle hooks pause the scaling activity for an epoch. You can specify the wait epoch by using the HeartbeatTimeout parameter. During the wait epoch, you can perform operations such as initialization of ECS instance configurations and retrieving ECS instance data.'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=SuspendProcesses\\&type=RPC\\&version=2014-08-28)'."\n", + .'- During a scale-out activity, ECS instances enter the wait state after they are added to the RDS instance whitelist, and are added to the backend server group of the SLB instance after the wait state ends. During a scale-down activity, ECS instances enter the wait state after they are removed from the backend server group of the SLB instance, and are removed from the RDS instance whitelist after the wait state ends.'."\n" + ."\n" + .'- You can configure notification methods for lifecycle hooks. The supported notification methods include MNS topics, MNS queues, and OOS templates. If you configure an OOS template, create a RAM role for the OOS service. For more information, see [Settings RAM permissions for OOS](~~120810~~).'."\n" + ."\n" + .'> If the scaling group has existing ECS instances and the configured OOS template is used to add or remove instances from the whitelist of a database other than RDS, you must manually add the existing ECS instances to the whitelist of the database.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ResumeProcesses' => [ - 'summary' => '恢复伸缩组中被暂停的流程', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidNotificationArn|The specified parameter notificationArn is invalid.|The specified NotificationArn is invalid.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The notificationType is not supported in the special region which scalingGroup belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|QueueNotExist|The specified queue does not exist.|The specified MNS queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic does not exist.|The specified MNS topic does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.Duplicate|The specified value of parameter lifecycleHookName is duplicated.|A lifecycle hook with the same name already exists.|'."\n" + .'|400|QuotaExceeded.LifecycleHook|Lifecycle hook quota exceeded in the specified scaling group.|A maximum of 6 lifecycle hooks can be created for a scaling group.|.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleHook'], + ], ], + ], + 'CreateNotificationConfiguration' => [ + 'summary' => 'Creates auto scaling event and resource change notifications.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92715', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92656', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'NotificationArn', '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 it is unique among different requests. 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****', - ], + 'schema' => ['description' => 'The identifier of the notification recipient. The following notification methods are supported:'."\n" + ."\n" + .'- CloudMonitor. Format: `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue. Format: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. Format: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the format are described as follows:'."\n" + .'- `region-id`: the region ID of the scaling group.'."\n" + .'- `account-id`: the Alibaba Cloud account ID.'."\n" + .'- `queuename`: the name of the MNS queue.'."\n" + .'- `topicname`: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], [ - 'name' => 'Process', + 'name' => 'NotificationType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of processes.'."\n", + 'description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8. Specify multiple values in a repeated list format.', 'type' => 'array', - 'items' => [ - 'description' => 'The type of process N that you want to resume. Valid values of N: 1 to 100.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ScaleIn'."\n" - .'* ScaleOut'."\n" - .'* HealthCheck'."\n" - .'* AlarmNotification'."\n" - .'* ScheduledAction'."\n" - ."\n" - .'You can resume the preceding types of scaling processes. If you specify more than five types, the system removes the duplicate types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], + 'items' => ['description' => 'One or more types of auto scaling event and resource change notifications. Valid values of N: 1 to 8. Specify multiple values in a repeated list format.'."\n" + ."\n" + .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the valid values of this query parameter.', 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], 'required' => true, - 'example' => 'ScaleIn', - 'maxItems' => 100, + 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + 'maxItems' => 12, + 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', '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' => 'E38EB733-D714-4658-8A5F-0688AB680414', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","errorExample":""},{"type":"xml","example":"<ResumeProcessesResponse>\\n <RequestId>E38EB733-D714-4658-8A5F-0688AB68****</RequestId>\\n</ResumeProcessesResponse>","errorExample":""}]', - 'title' => 'ResumeProcesses', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ResumeProcesses\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'VerifyUser' => [ - 'summary' => '验证是否已开通弹性伸缩服务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92724', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', + 'name' => 'TimeZone', + 'in' => 'query', + 'schema' => ['description' => 'The time zone for message notifications. The time zone is expressed as an offset from Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'MessageEncoding', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The encoding method for the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The content is transmitted in plaintext.'."\n" + .'- Base64: Base64 encoding.'."\n" + ."\n" + .'Default value: Base64.'."\n" + ."\n" + .'> This parameter is supported only for MNS notification recipients.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ @@ -5956,31 +2928,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyUserResponse></VerifyUserResponse>","errorExample":""}]', - 'title' => 'VerifyUser', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create Auto Scaling event and resource change notifications', + 'description' => '## Operation description'."\n" + ."\n" + .'- You can configure CloudMonitor system events, Message Service (MNS) queues, or MNS topics to receive notifications. When a specified type of scaling event or resource change occurs in a scaling group, Auto Scaling sends notifications to CloudMonitor or MNS.'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=VerifyUser\\&type=RPC\\&version=2014-08-28)'."\n", + .'- Different event notifications within the same scaling group cannot share the same recipient.'."\n" + ."\n" + .' For example, different event notifications cannot use the same CloudMonitor instance, the same MNS topic, or the same MNS queue.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidNotificationArn|The specified parameter notificationArn is invalid.|The specified NotificationArn is invalid.|'."\n" + .'|400|InvalidNotificationTypes|The specified notification type is invalid.|The specified NotificationType.N is invalid.|'."\n" + .'|400|NotificationConfigurationExist|The specified notification configuration already exist for the scalingGroup.|The specified event notification already exists in the scaling group.|'."\n" + .'|400|NotificationConfigurationQuotaExceed.ForScalingGroup|NotificationConfiguration num exceed for the specified scalingGroup.|The number of notification configurations for the scaling group exceeds the upper limit.|'."\n" + .'|400|QueueNotExist|The specified queue queuename does not exist.|The specified MNS queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic topicname does not exist.|The specified MNS topic does not exist.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The NotificationType is not supported in the special region which scaling group belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|InvalidParameter.TimeZone|The specified parameter TimeZone is not valid.|The specified TimeZone parameter is invalid.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNotificationConfiguration'], + ], + ], + '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' => '创建伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Creates an ECS-type scaling configuration for a scaling group by calling the CreateScalingConfiguration operation with the scaling group ID, instance type, instance image, and other information specified.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5993,605 +2994,377 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92657', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to create the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + '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 that is used by Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis****.vhd', - ], + 'schema' => ['description' => 'The ID of the image file used for automatic creation of instances.'."\n" + ."\n" + .'>This parameter has the same effect as the `ImageName` parameter. You can choose one of the two settings. If you set the ImageName parameter, the ImageId parameter is ignored (optional).', '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 in a region. If you specify the **ImageId **parameter, the **ImageName **parameter is ignored.'."\n" - ."\n" - .'You cannot use the **ImageName **parameter to specify Alibaba Cloud Marketplace images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image****', - ], + 'schema' => ['description' => 'The name of the image file. Image names are unique within a region. You cannot use this parameter to specify images from Alibaba Cloud Marketplace.'."\n" + .'> This parameter has the same effect as the `ImageId` parameter. You can set only one of them. If you set the `ImageId` parameter, the `ImageName` parameter is ignored (optional).', '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 family](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'schema' => ['description' => 'An instance type of the ECS instance. For more information, see [Instance families](~~25378~~).'."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified simultaneously. However, InstanceType can be specified together with InstancePatternInfo. In this case, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo configuration are used.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory** parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the **Scaling ****Policy **parameter is set to **Cost ****Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + '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 zones, and creates instances with the lowest price based on price sorting.'."\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' => '2', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the memory.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory **parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the **Scaling Policy** parameter is set to **Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], + '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 zones, and creates instances with the lowest price based on price sorting.'."\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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pz****', - ], + '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 with which the ECS instance is associated. The ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-280ih****', - ], + '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 to create an I/O optimized instance. Valid values:'."\n" - ."\n" - .'* none: does not create an I/O optimized instance.'."\n" - .'* optimized: creates an I/O optimized instance.'."\n" - ."\n" - .'For instances of retired instance types, the default value is none. For instances of other instance types, the default value is optimized. For information about the retired instance types, see [Retired instance types](~~55263~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optimized', - ], + 'schema' => ['description' => 'Specifies whether the instance is I/O optimized. Valid values:'."\n" + ."\n" + .'- none: non-I/O optimized.'."\n" + .'- optimized: I/O optimized.'."\n" + ."\n" + .'The default I/O optimized instances of [retired instance types](~~55263~~) is none. The default I/O optimized instances of 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: You are charged for the maximum available bandwidth that is specified by the **InternetMaxBandwidthOut **parameter.'."\n" - .'* PayByTraffic: You are charged for the actual traffic that is used. **InternetMaxBandwidthOut **specifies only the maximum available bandwidth.'."\n" - ."\n" - .'Default value for the classic network: PayByBandwidth. Default value for VPCs: PayByTraffic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - ], + '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.'."\n" + ."\n" + .'If this parameter is not specified, the default value is PayByBandwidth for the classic network and PayByTraffic for VPC.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''], ], [ 'name' => 'InternetMaxBandwidthIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 200.'."\n" - ."\n" - .'Default value: 200. This parameter is not used for billing because inbound traffic to instances is free of charge.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + '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.'."\n" - ."\n" - .'* Valid values if you set the **InternetChargeType **parameter to **PayByBandwidth**: 0 to 100. If this parameter is not specified, 0 is used as the value of this parameter.'."\n" - .'* Valid values if you set the **InternetChargeType **parameter to **PayByTraffic**: 0 to 100. If this parameter is not specified, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + '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 disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* ephemeral_ssd: local standard SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'You cannot specify the **SystemDisk.Category** and `SystemDiskCategories.N` parameters at the same time. If you do not specify the **SystemDisk.Category** and `SystemDiskCategories.N` parameters, the default value of **SystemDisk.Category** is used. For non-I/O optimized instances of Generation I instance types, the default value is cloud. For instances of other instance types, the default value is cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], + '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" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories.N`. If neither this parameter nor `SystemDiskCategories.N` is specified, a default value is used. If the InstanceType is a Series I instance type and the instance is a non-I/O optimized instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], ], [ 'name' => 'SystemDisk.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB. Valid values: 20 to 500.'."\n" - ."\n" - .'The value of **SystemDisk.Size** must be greater than or equal to max{20, ImageSize}.'."\n" - ."\n" - .'Default value: max{40, ImageSize}.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + '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 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 but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdSystem', - ], + '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 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 disk. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test system disk.', - ], + '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 that you want to apply to the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp12m37ccmxvbmi5****', - ], + '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 disk of the ESSD category. 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: PL0.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the cloud disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single cloud disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single cloud disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single cloud disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single cloud disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', '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 the scaling configuration must be unique in a scaling group in a region. If you do not specify this parameter, the value of **ScalingConfigurationId** is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingconfig****', - ], + '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 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 Server Load Balancer (SLB) instance. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + '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. The tags must be specified in the key-value pair format. You can specify up to 20 tags. Take note of the following items when you specify tag keys and tag values:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun and cannot 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 and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', - ], + '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 tag keys and values:'."\n" + .' '."\n" + .'- A tag key can be up to 64 characters in length and cannot start with aliyun or acs:. It cannot contain `http://` or `https://`. A tag key cannot be an empty string.'."\n" + .'- A tag value can be up to 128 characters in length and cannot start with aliyun or acs:. It cannot contain `http://` or `https://`. A tag 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 encoded in Base64. The maximum size of the data before encoding is 16 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs!', - ], + 'schema' => ['description' => 'The user data of the ECS instance. The data must be encoded in Base64. 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 that is used to log on to the ECS instance.'."\n" - ."\n" - .'* Windows instances do not use this parameter.'."\n" - .'* By default, the username and password authentication method is disabled for Linux instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeyPairTest', - ], + '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 that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. You can call the [CreateRole](~~28710~~) operation to create RAM roles.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ramrole****', - ], + '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 [ListRoles](~~28713~~) to query available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).', '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 valid only for public images.'."\n" - .'* Deactive: disables security hardening. This value is valid for all image types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], + '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 based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance****', - ], + 'schema' => ['description' => 'The name of the ECS instance that is created through automatic creation based on this scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'instance****', 'title' => ''], ], [ 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the ECS instance. The hostname cannot start or end with a period (.) or a hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-). Naming conventions for different types of instances:'."\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 contain only digits.'."\n" - .'* Other instances such as Linux instances: The hostname must be 2 to 64 characters in length. You can use periods (.) to separate a hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'host****', - ], + 'schema' => ['description' => 'The hostname of the ECS instance. 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' => 'host****', 'title' => ''], ], [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy that you want to apply to pay-as-you-go instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + '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 that is preconfigured in the image. Before you use this parameter, make sure that a password is configured for the image. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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 that is used to log on to the ECS instance. The password must be 8 to 30 characters in length, and 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" - .'The password of a Windows instance cannot start with a forward slash (/).'."\n" - ."\n" - .'> If you specify the **Password **parameter, we recommend that you use HTTPS to send requests for security purposes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123abc****', - ], + '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 prevent 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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-resource****', - ], + '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 Elastic High Performance Computing (E-HPC) cluster to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc-clusterid', - ], + '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. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test instance.', - ], + '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 value, but you must ensure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a value from your client that 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 that you want to allocate to the elastic network interface (ENI).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + '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 performance mode of the burstable instance. Valid values:'."\n" - ."\n" - .'* Standard: standard mode'."\n" - .'* Unlimited: unlimited mode'."\n" - ."\n" - .'For more information, see the "Performance modes" section in the [Overview](~~59977~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], + 'schema' => ['description' => 'The performance pattern of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard pattern.'."\n" + ."\n" + .'- Unlimited: unlimited pattern.'."\n" + ."\n" + .'For more information, see the performance schema 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 specify this parameter, the latest custom images that are available in the specified image family are returned. You can use the images to create instances. If you specify the **ImageId **parameter, you cannot specify the **ImageFamily** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], + 'schema' => ['description' => 'The name of the image family. You can set this parameter to obtain the latest available image from the specified image family for instance creation. If you have set the `ImageId` parameter, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone where the ECS instance resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], ], [ 'name' => 'DedicatedHostId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which the ECS instance runs. You cannot create preemptible instances on dedicated hosts. Therefore, if you configure the **DedicatedHostId **parameter, the **SpotStrategy **and **SpotPriceLimit** parameters are ignored.'."\n" - ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the IDs of dedicated hosts.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], + '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](~~134242~~) to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], ], [ 'name' => 'Affinity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to associate the instance on a dedicated host with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not associate the instance with the dedicated host. If you start an instance that was stopped in economical mode and the original dedicated host has insufficient resources, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the instance with the dedicated host. If you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the instance fails to start.'."\n" - ."\n" - .'Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + '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: does not create the instance on a dedicated host.'."\n" - .'* host: creates the instance on a dedicated host. If you do not specify the **DedicatedHostId** parameter, the system selects a dedicated host for the instance that you want to create.'."\n" - ."\n" - .'Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + '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 scheduling options.'."\n", - 'type' => 'object', - 'required' => false, - 'example' => '["testManagedPrivateSpaceId****"]', - ], + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], ], [ 'name' => 'PrivatePoolOptions.MatchCriteria', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the private pool that you want to use to create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you create instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. The system selects a matching open private pool to create instances. If no matching open private pools are found, the resources in the public pool are used. In this case, you do not need to specify the **PrivatePoolOptions.Id **parameter.'."\n" - .'* Target: specified private pool. The system uses the capacity of a specified private pool to create instances. If the specified private pool is unavailable, no instances can be created. If you set this parameter to **Target**, you must specify the **PrivatePoolOptions.Id** parameter.'."\n" - .'* None: no private pool. The capacity of private pools is not used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], + '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 to start the instance. 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. The PrivatePoolOptions.Id parameter is required.'."\n" + ."\n" + .'- None: no private pool is used. The instance does not use any private pool capacity for startup.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], ], [ 'name' => 'PrivatePoolOptions.Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eap-bp67acfmxazb4****', - ], + '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 retention period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6.'."\n" - ."\n" - .'* The following retention periods are available in invitational preview: 2, 3, 4, 5, and 6 hours. If you want to set this parameter to one of these values, submit a ticket.'."\n" - .'* If you set this parameter to 0, no retention period is specified for the preemptible instance.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\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 marketplace price and checks the resource inventory to determine whether to retain or revoke 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 marketplace price and checks the resource inventory to determine whether to retain or revoke the instance.'."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is revoked. Spot instances are billed by second. Select an appropriate protection period based on the execution duration of your specific tasks.'."\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 preemptible instance. Default value: Terminate. Set the value to Terminate, which specifies to release the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - ], + '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' => 'Instance type N. If you specify this parameter, the **InstanceType** parameter is ignored. You can specify up to 10 instance types in a scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'A smaller value of N specifies a higher priority. Auto Scaling creates instances based on the priorities of the instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.', + 'description' => 'The instance types.', 'type' => 'array', - 'items' => [ - 'description' => 'Instance type N. If you specify this parameter, the **InstanceType** parameter is ignored. You can specify up to 10 instance types in a scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'A smaller value of N specifies a higher priority. Auto Scaling creates instances based on the priorities of the instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'items' => ['description' => 'The instance types. Valid values of N: 1 to 20. You can specify up to 20 instance types in a scaling configuration.'."\n" + ."\n" + .'N represents the priority of the instance type in the current scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using the instance type with a higher priority, Auto Scaling automatically selects the instance type with the next priority to create the instance.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified simultaneously. However, InstanceTypes can be specified together with InstancePatternInfo. In this case, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo configuration are used.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, 'example' => 'ecs.g6.large', 'maxItems' => 20, + 'title' => '', ], ], [ @@ -6599,52 +3372,45 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The instance type overrides.', + 'description' => 'The instance type information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The instance type information.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'If you want to specify the capacity of instance types in the scaling configuration, you must specify the **InstanceTypeOverride.N.InstanceType **and **InstanceTypeOverride.N.WeightedCapacity **parameters.'."\n" - ."\n" - .'This parameter is used to specify the instance type. You can specify multiple instance types. The **InstanceTypeOverride.N.WeightedCapacity** parameter is used to specify weights for instance types. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify the **InstanceTypes.N** or **InstanceType** parameter.'."\n" - ."\n" - .'For information about the valid values of **InstanceType** in **InstanceTypeOverride.N.InstanceType**, see [Instance family](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'If you want to specify the capacity of instance types in the scaling configuration, you must specify the **InstanceTypeOverride.N.InstanceType** and **InstanceTypeOverride.N.WeightedCapacity** parameters. The values of *N* in the two parameters must be the same.'."\n" - ."\n" - .'This parameter specifies the weight of the instance type. 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.'."\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" - .'Examples:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum capacity that is specified by the **MaxSize** parameter and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of **WeightedCapacity** in the **InstanceTypeOverride.N.WeightedCapacity **parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'InstanceType' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, specify both this parameter and InstanceTypeOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type. You can specify N values for this parameter. Combined with the InstanceTypeOverride.N.WeightedCapacity parameter, this extends multi-instance-type support with custom weights. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> You cannot specify this parameter together with InstanceTypes.N or InstanceType.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, first specify InstanceTypeOverride.N.InstanceType, and then specify this parameter. The two parameters must correspond one-to-one, and N must be consistent.'."\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 needed to meet the expected capacity.'."\n" + ."\n" + .'Because performance metrics such as the number of vCPUs and memory size vary by instance type, 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 two 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' => '', ], ], [ @@ -6652,177 +3418,112 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The data cloud disk information.', 'type' => 'array', 'items' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The data cloud disk information.', 'type' => 'object', 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of data disk *N* that is of the ESSD category. If you set the **DataDisk.N.Category** parameter to **cloud_essd**, the *N* value must be the same as the *N* value in **DataDisk.N.Category**. 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 how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to data disk *N*. Valid values of *N*: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt data disk *N.* Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* true: encrypts data disk *N*.'."\n" - .'* false: does not encrypt data disk *N*.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of data disk *N*. Valid values of *N*: 1 to 16. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk.', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disk *N*. Valid values of *N*: 1 to 16. If you specify this parameter, the **DataDisk.N.Size** parameter is ignored. The size of the disk is the same as the size of the specified snapshot.'."\n" - ."\n" - .'If you specify a snapshot created on or before July 15, 2013, the operation fails and the system returns **InvalidSnapshot.TooOld**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-280s7****', - ], + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the cloud disk is an ESSD. The value of N must be consistent with the N in DataDisk.N.Category=cloud_essd. Valid values:'."\n" + ."\n" + .'- PL0: a single cloud disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single cloud disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single cloud disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single cloud disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\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. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether data cloud disk N is encrypted. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk. Valid values of N: 1 to 16. 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.', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. Valid values of N: 1 to 16. After this parameter is specified, DataDisk.N.Size is ignored, and the size of the created cloud 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' => 'Category *N* of data disk *N*. The first *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk. Valid values of *N*: 1 to 16. The second *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk category. Valid values of *N*: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the data disk that has the highest priority, Auto Scaling creates instances by using the data disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" + 'description' => 'The disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. You can specify up to 4 disk types for a data cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a 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 property of a basic cloud disk created 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" - .'> You cannot specify the **DataDisk.N.Categories.N **and `DataDisk.N.Category` parameters at the same time.', + .'> You cannot specify this parameter together with `DataDisk.N.Category`.', 'type' => 'array', - 'items' => [ - 'description' => 'Category *N* of data disk *N*. The first *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk. Valid values of *N*: 1 to 16. The second *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk category. Valid values of *N*: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the data disk that has the highest priority, Auto Scaling creates instances by using the data disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **DataDisk.N.Categories.N **and `DataDisk.N.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], + 'items' => ['description' => 'The disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. You can specify up to 4 disk types for a data cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a 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 property of a basic cloud disk created 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" + .'> You cannot specify this parameter together with `DataDisk.N.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, 'example' => 'cloud', 'maxItems' => 10, + 'title' => '', ], - 'Size' => [ - 'description' => 'The size of data disk *N*. Unit: GiB. Valid values of *N*: 1 to 16.'."\n" - ."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud**: 5 to 2000.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_efficiency**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_ssd**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_essd**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **ephemeral_ssd**: 5 to 800.'."\n" - ."\n" - .'The value of the **DataDisk.N.Size** parameter must be greater than or equal to the size of the snapshot that is specified by the **SnapshotId** parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of data disk *N*. Valid values of *N*: 1 to 16. If you do not specify this parameter, the system automatically assigns a mount target when you create the ECS instance. The name of the mount target ranges from /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdb', - ], - 'DiskName' => [ - 'description' => 'The name of data disk *N*. Valid values of *N*: 1 to 16. 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 but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdData', - ], - 'Category' => [ - 'description' => 'The category of data disk *N*. Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n" - ."\n" - .'You cannot specify the **DataDisk.N.Category** and `DataDisk.N.Categories.N` parameters at the same time. If you do not specify the **DataDisk.N.Category** and `DataDisk.N.Categories.N` parameters, the default value of **DataDisk.N.Category** is:'."\n" - ."\n" - .'* cloud_efficiency for I/O optimized instances.'."\n" - .'* cloud for non-I/O optimized instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release data disk *N* when the instance to which data disk *N* is attached is released. Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* true: releases data disk *N* when the instance is released.'."\n" - .'* false: retains data disk *N* when the instance is released.'."\n" - ."\n" - .'This parameter is available only for independent disks whose **DataDisk.N.Category** parameter is set to **cloud**, **cloud_efficiency**, **cloud_ssd**, **cloud_essd**, or **cloud_auto**. If you specify this parameter for other disks, an error is reported.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt data disk *N*. Valid values of *N*: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'ProvisionedIops' => [ - 'description' => 'The preconfigured input/output operations per second (IOPS) for data disk *N*.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Specifies whether to enable the burst feature for data disk *N*. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `DataDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'Size' => ['description' => 'The size of data cloud disk N. Valid values of N: 1 to 16. 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" + .'After this parameter is specified, the cloud 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. Valid values of N: 1 to 16. If you do not specify this parameter, the system allocates a mount point by default during automatic creation of ECS instances. The mount points start from /dev/xvdb and end at /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of data cloud disk N. Valid values of N: 1 to 16. 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 a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''], + 'Category' => ['description' => 'The category of data cloud disk N. Valid values of N: 1 to 16. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created 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.N.Categories.N`. If neither this parameter nor `DataDisk.N.Categories.N` 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 data cloud disk N is released with the instance. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: the cloud disk is released with the instance.'."\n" + .'- false: the cloud disk is retained when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisk.N.Category is cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto). 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 data cloud disk N. Valid values of N: 1 to 16.', '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 I/O operations that can be processed per second, representing the read/write capability of block storage. The unit is operations per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the data cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + .'> This parameter is supported only when `DataDisk.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' => '', ], ], [ @@ -6830,30 +3531,23 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The billing information of the preemptible instances.', + 'description' => 'The spot instance information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The spot instance information.', 'type' => 'object', 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of preemptible instance *N*. Valid values of *N*: 1 to 10. This parameter is available only if you set the **SpotStrategy **parameter to **SpotWithPriceLimit**.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'InstanceType' => [ - 'description' => 'The instance type of preemptible instance *N*. Valid values of *N*: 1 to 10. This parameter is available only if you set the **SpotStrategy** parameter to **SpotWithPriceLimit**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'PriceLimit' => ['description' => 'The bid price for the spot instance. Valid values of N: 1 to 20. This parameter takes effect only 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. Valid values of N: 1 to 20. This parameter takes effect only 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' => '', ], ], [ @@ -6861,21 +3555,17 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of security group *N* with which you want to associate the ECS instance. Valid values of *N* vary based on the maximum number of security groups with which the instance can be associated. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic.'."\n" + 'description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" ."\n" - .'> You cannot specify the **SecurityGroupId** and **SecurityGroupIds.N** parameters at the same time.', + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of security group *N* with which you want to associate the ECS instance. Valid values of *N* vary based on the maximum number of security groups with which the instance can be associated. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic.'."\n" - ."\n" - .'> You cannot specify the **SecurityGroupId** and **SecurityGroupIds.N** parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - ], + 'items' => ['description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" + ."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'maxItems' => 16, + 'title' => '', ], ], [ @@ -6883,200 +3573,187 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', + 'description' => 'The instance type information in intelligent mode.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The instance type information in intelligent mode.', 'type' => 'object', 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs that is specified for an instance type in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Instance family](~~25378~~). Valid values of *N*: 1 to 10.'."\n" - ."\n" - .'Take note of the following items:'."\n" - ."\n" - .'* The **InstancePatternInfo.N** parameter is available only for scaling groups that reside in VPCs.'."\n" - .'* You must specify the **InstancePatternInfo.N**, **InstancePatternInfo.N.Cores**, and **InstancePatternInfo.N.Memory** parameters at the same time.'."\n" - .'* If you specify an instance type by using the **InstanceType** or **InstanceTypes.N **parameter, Auto Scaling preferentially uses the instance type that is specified by the **InstanceType** or **InstanceTypes.N** parameter for scale-out activities. If the specified instance type does not have sufficient inventory, Auto Scaling creates instances of the instance type that is specified by the **InstancePatternInfo.N **parameter based on the price in ascending order.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The instance family level in intelligent configuration mode. This parameter is used to filter available instance types that meet the specified criteria. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances 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: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [What are burstable instances?](~~59977~~)'."\n" - ."\n" - .'Valid values of *N*: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for a pay-as-you-go instance or a preemptible instance in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. Valid values of *N*: 1 to 10.'."\n" - ."\n" - .'> If you set the **SpotStrategy** parameter to **SpotWithPriceLimit**, you must specify this parameter. Otherwise, you do not need to specify this parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that is specified for an instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Instance family](~~25378~~). Valid values of *N*: 1 to 10.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + '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~~). Valid values of N: 1 to 10.'."\n" + ."\n" + .'Note the following:'."\n" + ."\n" + .'- The InstancePatternInfo.N parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.N.Cores and InstancePatternInfo.N.Memory for the InstancePatternInfo.N parameter.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes.N parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling uses the instance type with the lowest price among those that match the InstancePatternInfo.N parameter values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The instance family level in intelligent configuration mode, used to filter instance types that meet the requirements. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These types are more cost-effective but cannot guarantee stable instance computing performance. They are suitable for scenarios with low average CPU utilization. For more information, see [Shared instance types](~~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 CPU usage spikes. For more information, see [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum acceptable hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements. Valid values of N: 1 to 10.'."\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. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], 'ExcludedInstanceType' => [ - 'description' => 'Instance type *N* that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude a single instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'* ecs.c6.\\*: The c6 instance family is excluded.', + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'array', - 'items' => [ - 'description' => 'Instance type *N* that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude a single instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'* ecs.c6.\\*: The c6 instance family is excluded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], + '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" + .'- 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' => '', ], 'Architecture' => [ - 'description' => 'Architecture *N* of the instance type. Valid values:'."\n" + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMetal: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\n" ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs or FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are selected.', + .'Default value: all architecture types are included.', 'type' => 'array', - 'items' => [ - 'description' => 'Architecture *N* of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs or FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are selected.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMetal: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\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', + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'Include', + '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.'."\n" + .'[_single.params.InstancePatternInfo.items.InstanceTyp', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that you can set multiple instance families. Valid values of N: 1 to 10.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The instance family. N indicates that you can set 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' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + '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" + .'> The value of `MaximumCpuCoreCount` cannot exceed 4 times the value of `MinimumCpuCoreCount`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], 'GpuSpecs' => [ + 'description' => 'The GPU types.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + '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 categories. Valid values:'."\n" + .'> N indicates 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 clock speed.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU-accelerated compute-optimized.'."\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.'."\n" + .'- High Performance Compute: high-performance computing.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The instance category. Valid values:'."\n" + .'> N indicates 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 clock speed.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU-accelerated compute-optimized.'."\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.'."\n" + .'- High Performance Compute: high-performance computing.', '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 indicates that you can set multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The CPU architecture of the instance. Valid values:'."\n" + .'>N indicates that you can set 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 set multiple processor models. Valid values of N: 1 to 10.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The processor model of the instance. N indicates that you can set multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY', 'title' => ''], + 'required' => false, 'maxItems' => 20, 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of ENIs that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses per ENI of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses per ENI of the 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 (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' => '', ], ], [ @@ -7084,159 +3761,139 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Category *N* of the system disk. Valid values of N: 1 to 4. You can specify up to four system disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the system disk that has the highest priority, Auto Scaling creates instances by using the system disk that has the next highest priority. Valid values:'."\n" + 'description' => 'The disk types of the system cloud disk. Valid values of N: 1 to 4. You can specify up to 4 disk types for the system cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a 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" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **SystemDiskCategories.N** and `SystemDisk.Category` parameters at the same time.', + .'> You cannot specify this parameter together with `SystemDisk.Category`.', 'type' => 'array', - 'items' => [ - 'description' => 'Category *N* of the system disk. Valid values of N: 1 to 4. You can specify up to four system disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the system disk that has the highest priority, Auto Scaling creates instances by using the system disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **SystemDiskCategories.N** and `SystemDisk.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], + 'items' => ['description' => 'The disk types of the system cloud disk. Valid values of N: 1 to 4. You can specify up to 4 disk types for the system cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a 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, 'example' => 'cloud', 'maxItems' => 10, + 'title' => '', ], ], [ 'name' => 'SystemDisk.Encrypted', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true: encrypts the system disk.'."\n" - .'* false: does not encrypt the system disk.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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 that is used to encrypt the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], + 'schema' => ['description' => 'The ID of the KMS key used by the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], ], [ 'name' => 'SystemDisk.EncryptAlgorithm', 'in' => 'query', - 'schema' => [ - 'description' => 'The algorithm that is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n" - ."\n" - .'Default value: AES-256.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AES-256', - ], + 'schema' => ['description' => 'The encryption algorithm used by 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 preconfigured IOPS for the system disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an EBS device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metric of 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 feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `SystemDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\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' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - 'example' => 'false', - ], + '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~~). Valid values:'."\n" + ."\n" + .'- true: yes.'."\n" + .'- false: no.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + .'- true: enables release protection. The instance cannot be directly released from the ECS console or by calling the API. This prevents instances scaled out by Auto Scaling from being accidentally deleted.'."\n" + .'- false: disables release protection. The instance can be directly released from the ECS console or by calling the API.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> This property does not affect normal scale-in activities of Auto Scaling. Pay-as-you-go instances with release protection enabled can still be released during scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'StorageSetId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The storage set ID.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], ], [ 'name' => 'StorageSetPartitionNumber', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + '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 + vSwitch** combinations.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`.'."\n" + ."\n" + .'When an ECS instance cannot be created by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically selects the **ECS instance type + vSwitch** combination with the next priority to create the ECS instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + 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. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, and 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' => [ + 'description' => 'The custom priority of an **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'><notice>This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], + 'InstanceType' => ['description' => 'The `CustomPriorities` field specifies the custom priority of an **ECS instance type + vSwitch** combination. The `CustomPriorities.N.InstanceType` parameter specifies the instance type of the ECS instance in the custom priority.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`. The instance type (InstanceType) must be included in the instance type list of the scaling configuration.'."\n" + ."\n" + .'When an ECS instance cannot be created by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically selects the **ECS instance type + vSwitch** combination with the next priority to create the ECS instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + 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. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, and 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' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The `CustomPriorities.N.VswitchId` parameter specifies the ID of the vSwitch in the custom priority.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`. The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ @@ -7244,87 +3901,179 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', 'type' => 'array', 'items' => [ + 'description' => 'The elastic network interface (ENI) information.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use `NetworkInterfaces.N`, you must configure the primary network interface but cannot set the `SecurityGroupId` or `SecurityGroupIds.N` parameter at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary network interface.'."\n" + ."\n" + .'- Secondary: secondary network interface.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface. 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" + .'> 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 allocated to the primary network interface. Note the following:'."\n" + ."\n" + .'- This parameter takes effect only when `NetworkInterfaces.N.InstanceType` is set to `Primary`.'."\n" + .'- If `NetworkInterface.N.InstanceType` is set to `Secondary` or left empty, this parameter cannot be set.'."\n" + .'- After this parameter is set, you cannot set the `Ipv6AddressCount` parameter.', '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' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The ID of a security group to which the elastic network interface (ENI) belongs. Note the following:'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Primary`, this parameter is required. In this case, this parameter has the same effect as `SecurityGroupIds.N`, but you cannot set `SecurityGroupId` or `SecurityGroupIds.N` at the same time.'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, this parameter is optional. The default value is the security group of the ECS instance (the security group of the primary network interface).', 'type' => 'string', 'required' => false, 'example' => 'sg-uf6ij8dwxh****', 'title' => ''], + 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the network interface. 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](~~25378~~).'."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses assigned to the network interface (excluding the primary private IP address of the network interface). The system randomly assigns addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the network interface.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'DedicatedHostClusterId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + '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' => [ - 'type' => 'string', - ], + '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: builds a TDX confidential computing environment. 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' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + ."\n" + .'- enabled: enabled.'."\n" + .'- disabled: disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], [ 'name' => 'HttpTokens', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when you 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 this value is set, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For more 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 instances are created. Note the following when you set this parameter:'."\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' => [ - 'type' => 'string', - ], + 'Strategy' => ['description' => 'A resource pool includes private pools generated after an elasticity assurance or capacity reservation takes effect, and public pools. You can select a resource pool when you start an instance. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. When this policy 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 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 policy 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 the public pool has insufficient resources, private pools are used as supplements. Open private pools are automatically matched first. If no matching private pool is available, the Target private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n" + .' > This policy is in invitational preview and is not available for use.'."\n" + ."\n" + .'- None: no resource pool policy is used.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], 'PrivatePoolIds' => [ + 'description' => 'The IDs of private pools. A private pool ID is the ID of an elasticity assurance or capacity reservation. Only Target-mode 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 ID of an elasticity assurance or capacity reservation. Only Target-mode 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 tag. Valid values of N: 1 to 20.'."\n" + .'Note the following:'."\n" + ."\n" + .'- When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + ."\n" + .'- Tag matching rule: the private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', 'type' => 'array', 'items' => [ - 'type' => 'string', + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Note the following:'."\n" + ."\n" + .'- When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + ."\n" + .'- Tag matching rule: the private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'This parameter is used to filter available Target private pools by tag. Valid values of N: 1 to 20. Note the following:'."\n" + ."\n" + .'When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + .'Tag matching rule: the private pool must match all specified tags.'."\n" + .'This parameter cannot be specified together with the PrivatePoolIds parameter.', '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' => '', ], ], ], @@ -7333,1397 +4082,830 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'ScalingConfigurationId' => ['description' => 'The scaling configuration ID.', 'type' => 'string', 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateScalingConfigurationResponse>\\n <ScalingConfigurationId>asc-bp1ffogfdauy0nu5****</ScalingConfigurationId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CreateScalingConfigurationResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], 'title' => 'CreateScalingConfiguration', - 'description' => '## Description'."\n" + 'description' => '## Operation description'."\n" ."\n" - .'Auto Scaling automatically scales out Elastic Compute Service (ECS) instances based on a scaling configuration. ECS instances can be configured in the following modes:'."\n" + .'A scaling configuration specifies the ECS instance template used for elastic scale-out. The following instance configuration methods are supported:'."\n" ."\n" - .'* InstancePatternInfo.N: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.'."\n" - .'* InstanceType: In this mode, you must specify an instance type.'."\n" - .'* InstanceTypes.N: In this mode, you must specify multiple instance types.'."\n" - .'* InstanceTypeOverride.N: In this mode, you must specify multiple instance types and specify weights for the instance types.'."\n" - .'* Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines a set of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates ECS instances of the instance type that is provided at the lowest price. This mode is available only if the **Scaling Policy** parameter is set to** Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n" + .'- InstancePatternInfo.N: intelligent configuration mode. You do not need to specify specific instance types. You only need to 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 Virtual Private Cloud (VPC) and can effectively reduce the risk of insufficient instance type inventory during scale-out.'."\n" ."\n" - .'> You cannot use InstanceType, InstanceTypes.N, InstanceTypeOverride.N, and Cpu and Memory at the same time. You can use InstanceType and InstancePatternInfo.N or use InstanceTypes.N and InstancePatternInfo.N at the same time. If you use InstanceType and InstancePatternInfo.N or use InstanceTypes.N and InstancePatternInfo.N at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes.N for scale-out activities. If the instance types that are specified by InstanceType or InstanceTypes.N do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfo.N for scale-out activities.'."\n", + .'- InstanceType: specifies a single instance type.'."\n" + ."\n" + .'- InstanceTypes.N: specifies multiple instance types.'."\n" + ."\n" + .'- InstanceTypeOverride.N: specifies multiple instance types and configures weights for different instance types.'."\n" + ."\n" + .'- Cpu and Memory: specifies the CPU and memory to define the range of instance types. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting. 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 use either of the following methods to configure the primary network interface. However, you can use only one method per API call. Using both methods simultaneously causes the API call to fail and returns an error message.'."\n" + .' - Use parameters such as `SecurityGroupId`, `SecurityGroupIds.N`, and `Ipv6AddressCount` to directly configure the primary network interface.'."\n" + .' - Use `NetworkInterfaces.N` to configure both the primary and secondary network interfaces. When you use this parameter, you must configure the primary network interface. When `NetworkInterfaces.N.InstanceType` is set to `Primary`, the primary network interface is configured. When `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, a secondary network interface is configured.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes.N, InstanceTypeOverride.N, and Cpu and Memory cannot be specified simultaneously. However, InstanceType or InstanceTypes.N can be specified together with InstancePatternInfo.N. When specified together with InstancePatternInfo.N, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo.N configuration are used.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteScalingConfiguration' => [ - 'summary' => '删除一个ECS类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92666', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration to be deleted.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asc-bp1bx8mzur534edp****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request. This parameter is returned regardless of whether the operation is successful.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InstanceType.Mismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the size limit of the cloud disk.|'."\n" + .'|403|InvalidDevice.InUse|Device "XXX" has been occupied.|The data cloud disk mount point is duplicated.|'."\n" + .'|400|InvalidImageId.InstanceTypeMismatch|The specified image does not support the specified instance type.|The specified image cannot be used with the specified instance type.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist in this account.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParameter|The specified value of parameter KeyPairName is not valid.|The KeyPairName parameter is not supported for Windows instances.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.|The specified system cloud disk type conflicts with the data cloud disk type.|'."\n" + .'|400|InvalidRamRole.NotFound|The specified RamRoleName does not exist.|The specified RamRoleName does not exist.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter ScalingConfigurationName is duplicated.|A scaling configuration with the same name already exists.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|404|InvalidSecurityGroupId.NotFound|The specified security group does not exist.|The specified security group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and the specified vSwitch do not belong to the same VPC.|'."\n" + .'|403|InvalidSnapshot.TooOld|This operation is denied because the specified snapshot is created before 2013-07-15.|The snapshot was created on or before July 15, 2013. The call is rejected.|'."\n" + .'|403|InvalidSystemDiskCategory.ValueUnauthorized|The system disk category is not authorized.|You do not have the permission to create a system cloud disk of the specified type.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData parameter does not comply with the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData is too long.|'."\n" + .'|403|QuotaExceeded.EphemeralDiskSize|Ephemeral disk size quota exceeded.|The total capacity of local data cloud disks exceeds 2 TiB (2048 GiB).|'."\n" + .'|400|QuotaExceeded.ScalingConfiguration|Scaling configuration quota exceeded in the specified scaling group.|The number of scaling configurations has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances in the specified security group has reached the upper limit.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectType|The managed security group "XXX" is not supported.|The managed security group "XXX" is not supported.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteScalingConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS i', - 'description' => '## Description'."\n" - ."\n" - .'The scaling configuration cannot be deleted in one of the following conditions:'."\n" - ."\n" - .'* The scaling configuration in the scaling group is in the Active state.'."\n" - .'* The scaling group contains ECS instances that were created based on the scaling configuration.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', ], - 'ModifyScalingConfiguration' => [ - 'summary' => '修改伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateScalingGroup' => [ + 'summary' => 'To automatically increase or decrease the number of instances of a specified type based on business changes and policies, you can call the CreateScalingGroup API to create a scaling group that automatically adjusts your business computing capacity (i.e., the number of instances).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92708', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], + 'abilityTreeCode' => '92658', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], '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****', - ], - ], - [ - 'name' => 'IoOptimized', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the instance is an I/O optimized instance. Valid values:'."\n" - ."\n" - .'* none: The instance is a non-I/O optimized instance.'."\n" - .'* optimized: The instance is an I/O optimized instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'none', - ], - ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy that you want to apply to pay-as-you-go instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as 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', - 'required' => false, - 'example' => 'NoSpot', - ], - ], - [ - '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 within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-modify', - ], - ], - [ - 'name' => 'InstanceName', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Elastic Compute Service (ECS) instance that is created by Auto Scaling based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'inst****', - ], + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within the same 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 digit, letter, or Chinese character.'."\n" + ."\n" + .'Default value: the value of ScalingGroupId.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'HostName', + 'name' => 'LaunchTemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the ECS instance. The hostname cannot start or end with a period (.) or a hyphen (-). The hostname also cannot contain consecutive periods (.) or hyphens (-). Naming conventions:'."\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 contain only digits.'."\n" - .'* Other instances such as Linux instances: The hostname must be 2 to 64 characters in length. You can use periods (.) to separate a hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hos****', - ], + 'schema' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'LaunchTemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to create instances.'."\n" - ."\n" - .'> If the image that is specified in the scaling configuration contains a system disk and data disks, the data that is stored in the data disks is cleared after you modify the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', - ], + 'schema' => ['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', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'ImageName', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. The name must be unique in a region. If you specify the ImageId parameter, the ImageName parameter is ignored.'."\n" - ."\n" - .'You cannot use the ImageName parameter to specify images that are purchased from Alibaba Cloud Marketplace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', - ], + 'schema' => ['description' => 'The ID of the instance. When creating a scaling group, the required configuration information is obtained from the specified instance, and a scaling configuration is automatically created.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], ], [ - 'name' => 'Cpu', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set Cpu to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify the Cpu and Memory parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set Cpu to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify the Cpu and Memory parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group. When the number of instances in the scaling group is less than the value of `MinSize`, Auto Scaling automatically creates instances.'."\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' => 'InternetChargeType', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by the InternetMaxBandwidthOut parameter.'."\n" - .'* PayByTraffic: You are charged for the actual traffic that is used. The InternetMaxBandwidthOut parameter specifies only the maximum available bandwidth.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByBandwidth', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. When the number of instances in the scaling group is greater than the value of `MaxSize`, Auto Scaling automatically removes instances.'."\n" + ."\n" + .'<props="china">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 value for **Maximum number of instances that can be set for a single scaling group**.</props>'."\n" + ."\n" + .'<props="intl">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 value for **Maximum number of instances that can be set for a single scaling group**.</props>'."\n" + ."\n" + .'<props="partner">The value range of MaxSize depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Maximum number of instances that can be set for a single scaling group**.</props>'."\n" + ."\n" + .'If the quota value for **Maximum number of instances that can be set for a single scaling group** is 2000, the value range of `MaxSize` is 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'InternetMaxBandwidthOut', + 'name' => 'DefaultCooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.'."\n" - ."\n" - .'* If you set the InternetChargeType parameter to PayByBandwidth and you leave this parameter empty, this parameter is automatically set to 0.'."\n" - .'* If you set the InternetChargeType parameter to PayByTraffic and you leave this parameter empty, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The cooldown period after a scaling activity (adding or removing instances) ends. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown period, the scaling group does not execute any other scaling activities. This only applies to scaling activities triggered by CloudMonitor alarm tasks.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'SystemDisk.Category', + 'name' => 'LoadBalancerIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* ephemeral_ssd: local standard SSD'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'You cannot specify the SystemDisk.Category and `SystemDiskCategories.N` parameters at the same time. If you do not specify the SystemDisk.Category or `SystemDiskCategories.N` parameters, the default value of the SystemDisk.Category parameter is used. The default value of this parameter for non-I/O optimized instances of Generation I instance types is cloud. The default value of this parameter for instances of other types is cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], + 'schema' => ['description' => 'The IDs of Classic Load Balancer (CLB, formerly SLB) instances. The value can be a JSON array of multiple CLB instance IDs, separated by commas (,).'."\n" + ."\n" + .'<props="china">The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.</props>'."\n" + ."\n" + .'<props="intl">The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.</props>'."\n" + ."\n" + .'<props="partner">The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.</props>', 'type' => 'string', 'required' => false, 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', 'title' => ''], ], [ - 'name' => 'SystemDisk.Size', + 'name' => 'DBInstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n" - ."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud: 20 to 500.'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_efficiency: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_ssd: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_essd: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_essd: 20 to 500'."\n" - ."\n" - .'The value of the SystemDisk.Size parameter must be greater than or equal to max{20, ImageSize}.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The IDs of RDS instances. The value can be a JSON array of multiple RDS instance IDs, separated by commas (,).'."\n" + ."\n" + .'<props="china">The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.</props>'."\n" + ."\n" + .'<props="intl">The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.</props>'."\n" + ."\n" + .'<props="partner">The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.</props>', 'type' => 'string', 'required' => false, 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', 'title' => ''], ], [ - 'name' => 'SystemDisk.DiskName', + 'name' => 'RemovalPolicy.1', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the system 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 but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdSystem', - ], + 'schema' => ['description' => 'The first-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.2 or RemovalPolicy.3. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + .'- CustomPolicy: removes ECS instances based on a custom scale-in policy Function.'."\n" + ."\n" + .'The scaling configuration mentioned in OldestScalingConfiguration refers to the source of instance configuration information within the group, including scaling configurations and launch templates. CustomPolicy can only be set as the first removal policy. When specifying CustomPolicy, the CustomPolicyARN parameter must also be specified.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], ], [ - 'name' => 'SystemDisk.Description', + 'name' => 'RemovalPolicy.2', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the system disk. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test system disk.', - ], + 'schema' => ['description' => 'The second-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.1 or RemovalPolicy.3. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestInstance', 'title' => ''], ], [ - 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'name' => 'RemovalPolicy.3', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp12m37ccmxvbmi5****', - ], + 'schema' => ['description' => 'The third-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.1 or RemovalPolicy.2. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], ], [ - 'name' => 'SystemDisk.PerformanceLevel', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level (PL) of the system disk of the ESSD category. 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" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The ID of the vSwitch. After this parameter is specified, the network type of the scaling group is VPC.'."\n" + ."\n" + .'> When neither the VSwitchId nor VSwitchIds.N parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'MultiAZPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'- PRIORITY: The vSwitch specified first (VSwitchIds.N) has the highest priority. Auto Scaling preferentially attempts to scale in the zone of the highest-priority vSwitch. If scaling cannot be performed, it automatically attempts to scale in the zone of the next highest-priority vSwitch.'."\n" + .'- COST_OPTIMIZED: During scale-out, Auto Scaling attempts to create ECS instances in order of vCPU unit price from lowest to highest. During scale-in, it attempts to remove ECS instances in order of vCPU unit price from highest to lowest. When the scaling configuration specifies multiple instance types with preemptible billing, preemptible instances are created first. You can use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory or other reasons.'."\n" + ."\n" + .' > COST_OPTIMIZED only takes effect when the scaling configuration specifies multiple instance types or uses preemptible instances.'."\n" + .'- BALANCE: ECS instances are evenly distributed across the multiple zones specified by the scaling group. If zones become unbalanced due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) API to rebalance resources.'."\n" + .'- COMPOSABLE: A composite policy that allows you to combine the above multi-zone scaling group ECS instance scaling policies as needed, or further specify parameters for more granular control over the scaling group capacity.'."\n" + ."\n" + .'Default value: PRIORITY.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], [ - 'name' => 'UserData', + 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the ECS instance. The data must be encoded in Base64. The maximum size of the data before encoding is 16 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs!', - ], + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group (both ECS-type and ECI-type scaling groups use this value to enable instance health checks).'."\n" + .'- LOAD_BALANCER: Instance health status is determined based on load balancer health check results (CLB load balancer type is currently not supported).'."\n" + ."\n" + .'Default value: ECS.'."\n" + ."\n" + .'> To enable both instance health checks and load balancer health checks simultaneously, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'KeyPairName', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that is used to log on to an ECS instance.'."\n" - ."\n" - .'* Windows instances do not use this parameter.'."\n" - .'* By default, the username and password authentication method is disabled for Linux instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeyPair_Name', - ], + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'- recycle: The reclaim mode of the scaling group is stop and reclaim mode.'."\n" + .'- release: The reclaim mode of the scaling group is release mode.'."\n" + .'- forcerelease: The reclaim mode of the scaling group is force release mode.'."\n" + ."\n" + .' > After selecting `forcerelease`, the system will forcibly release `Running` instances during scale-in activities. Force releasing an instance is equivalent to a power-off operation, which will erase temporary data in the instance\'s memory and storage. Data cannot be recovered. Please use this option with caution.'."\n" + ."\n" + .'- forcerecycle: The reclaim mode of the scaling group is force stop and reclaim mode.'."\n" + ."\n" + .' > After selecting `forcerecycle`, the system will forcibly shut down `Running` instances during scale-in activities. Force shutdown is equivalent to a power-off operation, which will erase temporary data in the instance\'s memory and storage. Data cannot be recovered. Please use this option with caution.'."\n" + ."\n" + .'ScalingPolicy specifies the reclaim mode of the scaling group, but the specific action when an instance is removed from the scaling group is determined by the RemovePolicy parameter of RemoveInstances. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamRoleTest', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a unique parameter value from your client, ensuring that the value is unique across different requests. Only ASCII characters are supported. The value 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' => 'PasswordInherit', + 'name' => 'OnDemandBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the password that is preconfigured in the image. Before you use this parameter, make sure that a password is configured for the image.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are created first.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'OnDemandPercentageAboveBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags of the ECS instance. The tags must be specified in the key-value format. You can specify up to 20 tags. The following rules apply to tag keys and tag values:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun`, and cannot 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`, and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', - ], + 'schema' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'DeploymentSetId', + 'name' => 'SpotInstanceRemedy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp13v7bjnj9gis****', - ], + 'schema' => ['description' => 'Specifies whether to enable supplementing preemptible instances. When enabled, if a system message is received indicating that a preemptible instance will be reclaimed, the scaling group will attempt to create a new instance to replace the preemptible instance that is about to be reclaimed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'CompensateWithOnDemand', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-F876F****', - ], + 'schema' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the ECS instance quantity requirement when preemptible instances cannot be created due to price, inventory, or other reasons. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'Override', + 'name' => 'SpotInstancePools', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to overwrite existing data. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The number of available instance types. The scaling group creates preemptible instances evenly across multiple types with the lowest cost. Valid values: 1 to 10.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcd1234abcd****', - ], + 'schema' => ['description' => 'The expected number of ECS instances in the scaling group. The scaling group automatically maintains the number of ECS instances at the desired capacity. The value must not be greater than MaxSize or less than MinSize.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'HpcClusterId', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc-clusterid', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- true: Enables deletion protection for the scaling group. The scaling group cannot be deleted.'."\n" + .'- false: Disables deletion protection for the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceDescription', + 'name' => 'GroupType', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test instance.', - ], + 'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n" + ."\n" + .'- ECS: The instances managed in the scaling group are ECS instances.'."\n" + .'- ECI: The instances managed in the scaling group are ECI instances.'."\n" + ."\n" + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of randomly generated IPv6 addresses that you want to allocate to the elastic network interface (ENI).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the ECI instance, i.e., the container group ID.', 'type' => 'string', 'required' => false, 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], ], [ - 'name' => 'CreditSpecification', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The performance mode of the burstable instance. Valid values:'."\n" + 'description' => 'The IDs of one or more vSwitches. If you use the VSwitchIds parameter, the VSwitchId parameter is ignored. After this parameter is specified, the network type of the scaling group is VPC.'."\n" ."\n" - .'* Standard: standard mode. For more information, see the "Standard mode" section in the [Overview](~~59977~~) topic of burstable instances.'."\n" - .'* Unlimited: unlimited mode. For more information, see the "Unlimited mode" section in the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], - ], - [ - 'name' => 'ImageFamily', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image family. You can specify this parameter to obtain the latest custom images that are available in the specified image family. You can use the images to create instances. If you specify the ImageId parameter, you cannot specify the ImageFamily parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], - ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], - ], - [ - 'name' => 'DedicatedHostId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which you want to create the ECS instance. Preemptible instances cannot be created on dedicated hosts. If you specify the DedicatedHostId parameter, the SpotStrategy and SpotPriceLimit parameters are ignored.'."\n" + .'When multiple vSwitches are specified:'."\n" ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query dedicated host IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'Affinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to associate an instance on a dedicated host with the dedicated host. Valid values:'."\n" + .'- They must belong to the same VPC.'."\n" + .'- They can belong to different zones.'."\n" + .'- The priority of vSwitches is sorted in ascending numerical order, with 1 indicating the highest priority. When an ECS instance cannot be created in the zone of the highest-priority vSwitch, the next highest-priority vSwitch is automatically selected.'."\n" ."\n" - .'* default: does not associate the instance with the dedicated host. If you start an instance that was stopped in economical mode and the original dedicated host of the instance has insufficient resources, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the instance with the dedicated host. If you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the instance cannot be started.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Tenancy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + .'> When neither the VSwitchId nor VSwitchIds parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. If you use the VSwitchIds.N parameter, the VSwitchId parameter is ignored. After this parameter is specified, the network type of the scaling group is VPC.'."\n" ."\n" - .'* default: does not create the instance on a dedicated host.'."\n" - .'* host: creates the instance on a dedicated host. If you do not specify the DedicatedHostId parameter, the system selects a dedicated host for the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'SchedulerOptions', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The options of the scheduler.'."\n", - 'type' => 'object', - 'required' => false, - 'example' => '["testManagedPrivateSpaceId****"]', - ], - ], - [ - 'name' => 'PrivatePoolOptions.MatchCriteria', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the private pool. A private pool is generated after an elasticity assurance or a capacity reservation takes effect. You can select the private pool when you start an instance. Valid values:'."\n" + .'When multiple vSwitches are specified:'."\n" ."\n" - .'* Open: open private pool. The system selects a matching open private pool to start the instance. If no matching open private pools are found, the resources in the public pool are used. In this case, you do not need to specify the PrivatePoolOptions.Id parameter.'."\n" - .'* Target: specified private pool. The resources in the specified private pool are used to start the instance. If the specified private pool is unavailable, the instance cannot be started. If you set this parameter to Target, you must specify the PrivatePoolOptions.Id parameter.'."\n" - .'* None: no private pool. The resources in private pools are not used to start the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], - ], - [ - 'name' => 'PrivatePoolOptions.Id', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eap-bp67acfmxazb4****', - ], - ], - [ - 'name' => 'SpotDuration', - 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6.'."\n" + .'- They must belong to the same VPC.'."\n" + .'- They can belong to different zones.'."\n" + .'- The priority of vSwitches is sorted in ascending numerical order, with 1 indicating the highest priority. When an ECS instance cannot be created in the zone of the highest-priority vSwitch, the next highest-priority vSwitch is automatically selected.'."\n" ."\n" - .'* The following retention periods are available in invitational preview: 2, 3, 4, 5, and 6 hours. If you want to set this parameter to one of these values, submit a ticket.'."\n" - .'* If you set this parameter to 0, no retention period is specified for the preemptible instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'SpotInterruptionBehavior', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate, which specifies that the preemptible instance is to be released.'."\n", - 'type' => 'string', + .'> When neither the VSwitchId nor VSwitchIds.N parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], 'required' => false, - 'example' => 'Terminate', + 'example' => 'vsw-bp14zolna43z266bq****', + 'maxItems' => 8, + 'title' => '', ], ], [ - 'name' => 'DataDisk', + 'name' => 'LifecycleHook', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The lifecycle hook information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The lifecycle hook information.', 'type' => 'object', 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of data disk N that is of the ESSD category. If you set the DataDisk.N.Category parameter to cloud_essd, the N value must be the same as the N value in DataDisk.N.Category. 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" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to data disk N. Valid values of N: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt data disk N. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk.', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disk N. Valid values of N: 1 to 16. If you specify this parameter, the DataDisk.N.Size parameter is ignored. The size of the disk is the same as the size of the specified snapshot.'."\n" - ."\n" - .'If you specify a snapshot created on or before July 15, 2013, the operation fails and the system returns InvalidSnapshot.TooOld.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-snapshot****', - ], - 'Categories' => [ - 'description' => 'Category N of data disk N. The first N in DataDisk.N.Categories.N represents the serial number of the data disk. Valid values of N: 1 to 16. The second N in DataDisk.N.Categories.N represents the serial number of the category of data disk N. Valid values of N: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the DataDisk.N.Categories.N and `DataDisk.N.Category` parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'Category N of data disk N. The first N in DataDisk.N.Categories.N represents the serial number of the data disk. Valid values of N: 1 to 16. The second N in DataDisk.N.Categories.N represents the serial number of the category of data disk N. Valid values of N: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the DataDisk.N.Categories.N and `DataDisk.N.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, - ], - 'Size' => [ - 'description' => 'The size of data disk N. Unit: GiB. Valid values of N: 1 to 16.'."\n" - ."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud: 5 to 2000.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud_efficiency: 20 to 32768.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud_essd: 20 to 32768.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to ephemeral_ssd: 5 to 800.'."\n" - ."\n" - .'The value of the DataDisk.N.Size parameter must be greater than or equal to the size of the snapshot that is specified by the SnapshotId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of data disk N. Valid values of N: 1 to 16. If you do not specify this parameter, the system automatically assigns a mount target when Auto Scaling creates ECS instances. The name of the mount target ranges from /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdb', - ], - 'DiskName' => [ - 'description' => 'The name of data disk N. Valid values of N: 1 to 16. 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 but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdData', - ], - 'Category' => [ - 'description' => 'The category of data disk N. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* ephemeral_ssd: local standard SSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n" - ."\n" - .'You cannot specify the DataDisk.N.Category and `DataDisk.N.Categories.N` parameters at the same time. If you do not specify the DataDisk.N.Category or `DataDisk.N.Categories.N` parameters, the default value of the DataDisk.N.Category parameter is used.'."\n" - ."\n" - .'* The default value is cloud_efficiency for I/O optimized instances.'."\n" - .'* The default value is cloud for non-I/O optimized instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release data disk N when the instance to which data disk N is attached is released. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'This parameter is available only for independent disks whose DataDisk.N.Category parameter is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd. If you specify this parameter for disks of other categories, an error is reported.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt data disk N. Valid values of N: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'ProvisionedIops' => [ - 'description' => 'The preconfigured input/output operations per second (IOPS) for data disk N.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Specifies whether to enable the burst feature for data disk N. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `DataDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'DefaultResult' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues to respond to the scale-out activity or continues to respond to the scale-in activity.'."\n" + .'- ABANDON: directly releases the ECS instance created during the scale-out activity, or directly removes the ECS instance from the scaling group during the scale-in activity.'."\n" + ."\n" + .'When a scale-in activity (SCALE_IN) triggers multiple lifecycle hooks, and the wait state of a lifecycle hook with DefaultResult set to ABANDON ends, all other corresponding wait states are ended early. In other cases, the action is determined by the last lifecycle hook whose wait state ends.'."\n" + ."\n" + .'Default value: CONTINUE.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook. Once specified, it cannot be modified. If not specified, the default value is the same as the lifecycle hook ID.', '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: scale-out activity of the scaling group.'."\n" + .'- SCALE_IN: scale-in activity of the scaling group.'."\n" + ."\n" + .'> If a lifecycle hook is specified for the scaling group, this parameter is required. Other related parameters are optional.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'The fixed string information for the wait state of the scaling activity. The parameter value cannot exceed 128 characters in length. Each time Auto Scaling sends a message to the notification object, it also sends the pre-specified NotificationMetadata parameter value, which facilitates managing and identifying different categories of notification information. This parameter only takes effect when the NotificationArn parameter is also specified.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + 'NotificationArn' => ['description' => 'The identifier of the notification object for the lifecycle hook. Supports queues or topics of Simple Message Queue (formerly MNS). The parameter value format is: acs:ess:{region}:{account-id}:{resource-relative-id}.'."\n" + ."\n" + .'- region: the region where the scaling group resides.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- MNS queue: acs:ess:{region}:{account-id}:queue/{queuename}.'."\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 set by the lifecycle hook for the scaling group activity. After the wait state times out, the next action is executed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After creating a lifecycle hook, you can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait time of the ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of the scaling activity early.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 16, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'VServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must also specify the SpotPriceLimit parameter.'."\n", + 'description' => 'The information collection of vServer groups associated with the scaling group.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information collection of vServer groups associated with the scaling group.', 'type' => 'object', 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set the SpotStrategy parameter to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], - 'InstanceType' => [ - 'description' => 'The instance type of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set the SpotStrategy parameter to SpotWithPriceLimit.'."\n", - 'type' => 'string', + 'VServerGroupAttribute' => [ + 'description' => 'The backend server group attributes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The backend server group attributes.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1443g77****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the vServer group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests. Valid values: 0 to 100. Default value: 50.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the vServer group. Valid values: 1 to 65535.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ecs.g6.large', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'LoadBalancerId' => ['description' => 'The ID of the CLB (formerly SLB) instance to which the vServer group belongs.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceTypes', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Instance type N. If you specify this parameter, the InstanceType parameter is ignored. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The first instance type has the highest priority. The priority decreases based on the specified orders of the instance types. Auto Scaling creates instances based on the priorities of instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.', + 'description' => 'The tag information collection of the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'Instance type N. If you specify this parameter, the InstanceType parameter is ignored. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The first instance type has the highest priority. The priority decreases based on the specified orders of the instance types. Auto Scaling creates instances based on the priorities of instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.'."\n", - 'type' => 'string', + 'description' => 'The tag information collection of the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag is a propagatable tag. Valid values:'."\n" + .'- true: The tag on the scaling group is only propagated to newly created instances, and is not propagated to instances already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], 'required' => false, - 'example' => 'ecs.g6.large', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'ecs.g6.large', - 'maxItems' => 20, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceTypeOverride', + 'name' => 'LaunchTemplateOverride', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The instance type overrides.', + 'description' => 'The launch template override information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The launch template override information.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N that you want to use to override the instance type that is specified in the launch template. If you want to specify the weighted capacity of instance type N in the scaling configuration, you must specify the InstanceTypeOverride.N.InstanceType parameter and the InstanceTypeOverride.N.WeightedCapacity parameter at the same time.'."\n" - ."\n" - .'The InstanceTypeOverride.N.InstanceType parameter specifies instance type N, and the InstanceTypeOverride.N.WeightedCapacity parameter specifies the weighted capacity of the specified instance type in the scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> You cannot specify the InstanceTypeOverride.N.InstanceType and InstanceTypes parameters at the same time.'."\n" - ."\n" - .'For information about valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. If you want to specify the weighted capacity of instance type N in the scaling configuration, you must specify the InstanceTypeOverride.N.InstanceType parameter and the InstanceTypeOverride.N.WeightedCapacity parameter at the same time. The value of N in the two parameters must be the same.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of instance type N 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 meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance types.'."\n" - ."\n" - .'Valid values of WeightedCapacity in the InstanceTypeOverride.N.WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'InstanceType' => ['description' => 'When you need the scaling group to scale based on instance type capacity, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type and overrides the instance type in the launch template. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + .'> This parameter only takes effect when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'When you need the scaling group to scale based on instance type capacity, after specifying LaunchTemplateOverride.N.InstanceType, also specify this parameter. The two parameters correspond one-to-one, and N must be consistent.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, i.e., the capacity size that a single instance of this type represents in the scaling group. A higher weight means fewer instances of this type are needed to meet the desired capacity.'."\n" + ."\n" + .'Since performance metrics such as the number of vCPUs and memory size vary across instance types, you can configure different weights for different instance types based on your needs.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Desired capacity: 6.'."\n" + .'- ecs.c5.xlarge capacity: 4.'."\n" + ."\n" + .'To meet the desired capacity, the scaling group will scale out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group must not 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' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified in the launch template override (`LaunchTemplateOverride.N.InstanceType`). You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + .'> This parameter only takes effect when the `LaunchTemplateId` parameter specifies a launch template.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', '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 ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - ], - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - 'maxItems' => 16, - ], - ], - [ - 'name' => 'InstancePatternInfo', + 'name' => 'AlbServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', + 'description' => 'The information collection of ALB server groups.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information collection of ALB server groups.', 'type' => 'object', 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs that is provided for instance type N in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Overview of instance families](~~25378~~). Valid values of N: 1 to 10'."\n" - ."\n" - .'Take note of the following items:'."\n" - ."\n" - .'* The InstancePatternInfo.N parameter is available only for scaling groups that reside in virtual private clouds (VPCs).'."\n" - .'* You must specify the InstancePatternInfo.N, InstancePatternInfo.N.Cores, and InstancePatternInfo.N.Memory parameters at the same time.'."\n" - .'* If you specify an instance type by using the InstanceType or InstanceTypes.N parameter, Auto Scaling preferentially uses the instance type that is specified by the InstanceType or InstanceTypes.N parameter for scale-out activities. If the specified instance type does not have sufficient inventory, Auto Scaling creates instances of the instance type that is specified by the InstancePatternInfo.N parameter and provided at the lowest price.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The instance family level in intelligent configuration mode. This parameter is used to filter available instance types that meet the specified criteria. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are cost-effective, but do not provide stable computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances 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: This value is available only for burstable instances. CPU credits are used to ensure computing performance. This level is 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" - ."\n" - .'Valid values of N: 1 to 10'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for a pay-as-you-go instance or a preemptible instance in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. Valid values of N: 1 to 10'."\n" - ."\n" - .'> If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify this parameter. In other cases, you do not need to specify this parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that is provided for instance type N in intelligent configuration mode. Unit: GiB. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Overview of instance families](~~25378~~). Valid values of N: 1 to 10'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'Architecture' => [ - 'description' => 'Architecture N of instance type N. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are included.', - 'type' => 'array', - 'items' => [ - 'description' => 'Architecture N of instance type N. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are included.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - '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', - ], - 'ExcludedInstanceType' => [ - 'description' => 'Instance type N 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" - .'> Separate multiple instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', - 'type' => 'array', - 'items' => [ - 'description' => 'Instance type N 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" - .'> Separate multiple instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceTypeFamilies' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'GpuSpecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'InstanceCategories' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'CpuArchitectures' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'PhysicalProcessorModels' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'N is the sequence number of the ALB server group. The number of ALB server groups that can be associated with a single scaling group is limited. To view or request an increase in the quota value, 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 the instance as a backend server after Auto Scaling adds the instance to the ALB server group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests. Valid values: 0 to 100.'."\n" + ."\n" + .'N is the sequence number of the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the ALB server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'N is the sequence number of the ALB server group.'."\n" + ."\n" + .'> If N is the same but Port is different, the system will associate multiple ALB server groups with different Ports to the scaling group by default.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDiskCategories', + 'name' => 'ServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Category N of the system disk. Valid values of N: 1 to 4. A smaller value of N indicates a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> You cannot specify the SystemDiskCategories.N and `SystemDisk.Category` parameters at the same time.', + 'description' => 'The information collection of load balancer server groups.'."\n" + .'> Setting the same server group information in both `AlbServerGroups` and `ServerGroups` simultaneously is not supported.', 'type' => 'array', 'items' => [ - 'description' => 'Category N of the system disk. Valid values of N: 1 to 4. A smaller value of N indicates a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> You cannot specify the SystemDiskCategories.N and `SystemDisk.Category` parameters at the same time.'."\n", - 'type' => 'string', + 'description' => 'The information collection of 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" + .'- NLB: Network Load Balancer.'."\n" + .'- GWLB: Gateway Load Balancer.', 'type' => 'string', 'required' => false, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB type load balancers. This parameter cannot be set for GWLB type load balancers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB type load balancers. This parameter cannot be set for GWLB type load balancers, and the default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], 'required' => false, - 'example' => 'cloud', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Password', + 'name' => 'AzBalance', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple zones (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + .'- true: The capacity of the scaling group is evenly distributed across multiple zones.'."\n" + .'- false: The capacity of the scaling group is not evenly distributed across multiple zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'SystemDisk.Encrypted', + 'name' => 'AllocationStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. The capacity distribution strategy applies to both pay-as-you-go and preemptible capacity (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of configured instance types.'."\n" + .'- lowestPrice: Instances are created in order of unit vCPU price from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], [ - 'name' => 'SystemDisk.KMSKeyId', + 'name' => 'SpotAllocationStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the KMS key that is used to encrypt the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], + 'schema' => ['description' => 'The preemptible capacity distribution strategy. You can use this parameter to separately specify the distribution strategy for preemptible capacity (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of configured instance types.'."\n" + .'- lowestPrice: Instances are created in order of unit vCPU price from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], [ - 'name' => 'SystemDisk.EncryptAlgorithm', + 'name' => 'MaxInstanceLifetime', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption algorithm that is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n" - ."\n" - .'Default value: AES-256.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AES-256', - ], + 'schema' => ['description' => 'The maximum time that an instance can survive in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: `[86400, Integer.maxValue]`.'."\n" + ."\n" + .'Default value: null.'."\n" + .'> This parameter is not supported for ECI-type scaling groups or scaling groups with the stop-and-no-charge feature enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], [ - 'name' => 'SystemDisk.ProvisionedIops', + 'name' => 'CustomPolicyARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The preconfigured IOPS for the system disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an EBS device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The ARN of the custom scale-in policy Function. This parameter only takes effect when the first removal policy in RemovalPolicies is configured as 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' => 'SystemDisk.BurstingEnabled', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `SystemDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the resource group to which the newly created scaling group belongs.'."\n" + .'> The newly created scaling group is assigned to the specified resource group. If this parameter is not specified, the scaling group is assigned to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-123****', 'title' => ''], ], [ - 'name' => 'ImageOptions.LoginAsNonRoot', + 'name' => 'LoadBalancerConfig', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'boolean', + 'description' => 'The list of CLB (formerly SLB) configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of CLB (formerly SLB) configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB (formerly SLB) instance.', 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the CLB (formerly SLB) server group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'false', - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - ], - ], - [ - 'name' => 'DeletionProtection', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - [ - 'name' => 'StorageSetId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'StorageSetPartitionNumber', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CustomPriorities', + 'name' => 'HealthCheckTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The health check modes of the scaling group.'."\n" + .'> This parameter allows setting multiple values to enable multiple health check options. If the `HealthCheckType` parameter is set, this parameter is ignored.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], - ], - ], + 'items' => ['description' => 'The list of health check modes for the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group (both ECS-type and ECI-type scaling groups use this value to enable instance health checks).'."\n" + .'- LOAD_BALANCER: Instance health status is determined based on load balancer health check results (CLB load balancer type is currently not supported).'."\n" + ."\n" + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NetworkInterfaces', + 'name' => 'DBInstance', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The list of databases associated with the scaling group.', 'type' => 'array', 'items' => [ + 'description' => 'The configuration information of databases associated with the scaling group.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SecurityGroupIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + '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" + .'- Redis.'."\n" + .'- MongoDB.'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], + 'AttachMode' => ['description' => 'The association mode between the scaling group and the database. Valid values:'."\n" + ."\n" + .'- SecurityIp: IP whitelist mode. The IP addresses of scaled-out instances are automatically added to the database IP whitelist (currently only supported for RDS databases).'."\n" + .'- SecurityGroup: Security group mode. The security group from the scaling configuration is added to the database security group whitelist, enabling instances in the security group to access the database.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'maxItems' => 10, + 'required' => false, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DedicatedHostClusterId', + 'name' => 'StopInstanceTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The timeout period for waiting for ECS instances to stop during the scale-in process. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter only takes effect during the scale-in process when ScalingPolicy is set to release mode.'."\n" + .'- If this parameter is set, the system waits up to StopInstanceTimeout seconds for the instance to stop successfully. After the timeout, the scale-in continues regardless of whether the instance has successfully stopped.'."\n" + .'- If this parameter is not set, the system waits indefinitely for the instance to stop successfully. The scale-in continues only after the instance has successfully stopped. If the instance fails to stop, the scale-in process rolls back and fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'SecurityOptions', + 'name' => 'CapacityOptions', 'in' => 'query', 'style' => 'flat', 'schema' => [ + 'description' => 'The capacity options.', 'type' => 'object', 'properties' => [ - 'ConfidentialComputingMode' => [ - 'type' => 'string', - ], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the existing scaling group. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances `OnDemandBaseCapacity` is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter 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`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the ECS instance quantity requirement when preemptible instances cannot be created due to price, inventory, or other reasons. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'When `CompensateWithOnDemand` is enabled, if the pay-as-you-go ratio exceeds the `OnDemandPercentageAboveBaseCapacity` ratio, the system attempts to replace pay-as-you-go capacity with spot instances. A common scenario is when `CompensateWithOnDemand` causes spot instances to be degraded to pay-as-you-go instances due to spot inventory or pricing issues. To avoid prolonged existence of pay-as-you-go instances, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\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: Compare prices per unit of capacity.'."\n" + ."\n" + .' The capacity size of an instance in the scaling group equals the weight set for the instance type, which defaults to 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: Compare prices per unit of vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HttpEndpoint', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HttpTokens', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'InternetMaxBandwidthIn', + 'name' => 'BalanceMode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['title' => '', 'description' => 'The zone balancing mode. This parameter only takes effect when zone balancing is enabled. Valid values:'."\n" + ."\n" + .'- BalancedBestEffort: When resource creation fails in a zone, it falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: When resource creation fails in a zone, it does not fall back to other zones. The scale-out activity partially succeeds, avoiding excessive imbalance of resources across zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'required' => false, 'example' => 'BalancedBestEffort'], ], [ - 'name' => 'ResourcePoolOptions', + 'name' => 'AutoRebalance', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'type' => 'string', - ], - 'PrivatePoolIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable automatic rebalancing for the scaling group. This parameter only takes effect when BalancedOnly is enabled for the zone-balanced scaling group. Valid values:'."\n" + .'- false: Disables automatic rebalancing for the scaling group.'."\n" + .'- true: When enabled, the scaling group automatically monitors the capacity across zones. When the capacity becomes unbalanced across zones, it proactively scales in and out to rebalance the capacity across zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -8731,1202 +4913,123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyScalingConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'ModifyScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeScalingConfigurations' => [ - 'summary' => '查询伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92682', - 'abilityTreeNodes' => [ - 'FEATUREessVYTHU5', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group whose scaling configurations you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - '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', - 'default' => '1', - ], - ], - [ - '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', - 'example' => '50', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], - ], - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'ScalingConfigurationId', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of scaling configuration N that you want to query.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish active and inactive scaling configurations based on the value of `LifecycleState`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ScalingConfigurationName', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The name of scaling configuration N 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.', - 'type' => 'array', - 'items' => [ - 'description' => 'The name of scaling configuration N 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****', - ], - 'required' => false, - 'example' => 'scalingcon****', - 'maxItems' => 10, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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 configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingConfigurations' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingConfiguration' => [ - 'description' => 'The scaling configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DeploymentSetId' => [ - 'description' => 'The ID of the deployment set of the ECS instances that were created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'ds-bp1frxuzdg87zh4p****', - ], - 'CreationTime' => [ - 'description' => 'The time when 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' => 'scalingconfigura****', - ], - 'SystemDiskDescription' => [ - 'description' => 'The description of the system disk.'."\n", - 'type' => 'string', - 'example' => 'Test system disk.', - ], - 'KeyPairName' => [ - 'description' => 'The name of the key pair that is used to log on to an ECS instance.'."\n", - 'type' => 'string', - 'example' => 'keypair****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group with which the ECS instances that are created from the scaling configuration are associated. The ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'PrivatePoolOptions.Id' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'example' => 'eap-bp67acfmxazb4****', - ], - 'SystemDiskAutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that is applied to the system disk.'."\n", - 'type' => 'string', - 'example' => 'sp-bp12m37ccmxvbmi5****', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy that is applied to pay-as-you-go instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has 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', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group whose scaling configuration was queried.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - 'Affinity' => [ - 'description' => 'Indicates whether an ECS instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: The ECS instance is not associated with the dedicated host. If you start an ECS instance that was stopped in economical mode and the original dedicated host of the ECS instance has insufficient resources, the ECS instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: The ECS instance is associated with the dedicated host. If you start an ECS instance that was stopped in economical mode, the ECS instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, you cannot start the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Tenancy' => [ - 'description' => 'Indicates whether the ECS instance is created on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: The ECS instance is created on a non-dedicated host.'."\n" - .'* host: The ECS instance is created on a dedicated host. If you do not specify `DedicatedHostId`, Alibaba Cloud selects a dedicated host for the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of randomly generated IPv6 addresses that are allocated to the elastic network interface (ENI).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SpotDuration' => [ - 'description' => 'The retention period of a preemptible instance. Unit: hours.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - '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 active scaling configuration to automatically create ECS instances.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Auto Scaling does not use the inactive scaling configuration to create ECS instances. Inactive scaling configurations are retained in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'instance****', - ], - 'SecurityEnhancementStrategy' => [ - 'description' => 'Indicates whether the security hardening feature 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.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'UserData' => [ - 'description' => 'The user data of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'echo hello ecs!', - ], - 'PrivatePoolOptions.MatchCriteria' => [ - 'description' => 'The type of the private pool. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool for Auto Scaling to start instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. Auto Scaling selects a matching open private pool to start instances. If no matching open private pools exist, Auto Scaling uses the resources in the public pool to start instances.'."\n" - .'* Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start instances. If the resources in the specified private pool are insufficient, instances cannot be started.'."\n" - .'* None: no private pool. Auto Scaling does not use the resources in private pools to start instances.'."\n", - 'type' => 'string', - 'example' => 'Open', - ], - 'DedicatedHostId' => [ - 'description' => 'The ID of the dedicated host on which the ECS instance is created. If you specify `DedicatedHostId`, `SpotStrategy` and `SpotPriceLimit` are ignored. Because preemptible instances cannot be created on dedicated hosts.'."\n" - ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the IDs of dedicated hosts.'."\n", - 'type' => 'string', - 'example' => 'dh-bp67acfmxazb4p****', - ], - 'InstanceGeneration' => [ - 'description' => 'The generation of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'ecs-3', - ], - 'HpcClusterId' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'hpc-clus****', - ], - 'PasswordInherit' => [ - 'description' => 'Indicates whether the password that is preconfigured in the image is used.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to create instances only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'ImageId' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to automatically create instances.'."\n", - 'type' => 'string', - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', - ], - 'ImageFamily' => [ - 'description' => 'The name of the image family. You can specify this parameter to obtain the most recent custom images that are available in the specified image family. Then, you can use the images to create instances. If you specify ImageId, you cannot specify ImageFamily.'."\n", - 'type' => 'string', - 'example' => 'hangzhou-daily-update', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The source of the image. Valid values:'."\n" - ."\n" - .'* system: Alibaba Cloud public image.'."\n" - .'* self: custom image that you create.'."\n" - .'* others: shared image from another Alibaba Cloud account or community image that is published by another Alibaba Cloud account.'."\n" - .'* marketplace: Alibaba Cloud Marketplace image.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of an ECS instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SystemDiskCategory' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n" - .'* cloud_essd: enhanced SSD (ESSD).'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'HostName' => [ - 'description' => 'The hostname of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'LocalHost', - ], - 'SystemDiskName' => [ - 'description' => 'The name of the system disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_ssd_Test', - ], - 'InternetMaxBandwidthOut' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.'."\n" - ."\n" - .'* Valid values if you set InternetChargeType to PayByBandwidth: 0 to 100. If you do not specify this parameter, a value of 0 is returned.'."\n" - .'* Valid values if you set InternetChargeType to PayByTraffic: 0 to 100. If this parameter is not specified, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InternetMaxBandwidthIn' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 200.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'InstanceDescription' => [ - 'description' => 'The description of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - 'IoOptimized' => [ - 'description' => 'Indicates whether the ECS instance is I/O optimized. Valid values:'."\n" - ."\n" - .'* none: The ECS instance is not I/O optimized.'."\n" - .'* optimized: The ECS instance is I/O optimized.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'RamRoleName' => [ - 'description' => 'The name of the RAM role that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. You can call the [CreateRole](~~28710~~) operation to create RAM roles.'."\n", - 'type' => 'string', - 'example' => 'ramrole****', - ], - 'SystemDiskPerformanceLevel' => [ - 'description' => 'The performance level (PL) of the system disk that is an ESSD.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to create instances only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-aekzn2ou7xo****', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the ECS instance. You can call the [DescribeZones](~~25610~~) operation to query the most recent zone list.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by InternetMaxBandwidthOut.'."\n" - .'* PayByTraffic: You are charged for the actual data transfer. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ezrfgoyn5kijl****', - ], - 'CreditSpecification' => [ - 'description' => 'The performance mode of the burstable instance. Valid values:'."\n" - ."\n" - .'* Standard: standard mode. For more information, see the "Standard mode" section in the [Burstable instances](~~59977~~) topic.'."\n" - .'* Unlimited: unlimited mode. For more information, see the "Unlimited mode" section in the [Burstable instances](~~59977~~) topic.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'SpotInterruptionBehavior' => [ - 'description' => 'The interruption mode of the preemptible instance.'."\n", - 'type' => 'string', - 'example' => 'Terminate', - ], - 'DataDisks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisk' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of the data disk that is an ESSD.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'Description' => [ - 'description' => 'The description of the data disk.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that is used to create the data disk.'."\n", - 'type' => 'string', - 'example' => 's-23f2i****', - ], - 'Device' => [ - 'description' => 'The mount target of the data disk.'."\n", - 'type' => 'string', - 'example' => '/dev/xvdb', - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GiB.'."\n" - ."\n" - .'* Valid values if you set Category to cloud: 5 to 2000.'."\n" - .'* Valid values if you set Category to cloud_efficiency: 20 to 32768.'."\n" - .'* Valid values if you set Category to cloud_ssd: 20 to 32768.'."\n" - .'* Valid values if you set Category to cloud_essd: 20 to 32768.'."\n" - .'* Valid values if you set Category to ephemeral_ssd: 5 to 800.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DiskName' => [ - 'description' => 'The name of the data disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_ssdData', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that is applied to the data disk.'."\n", - 'type' => 'string', - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Category' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the data disk.'."\n", - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'DeleteWithInstance' => [ - 'description' => 'Indicates whether the data disk is released together with the ECS instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Encrypted' => [ - 'description' => 'Indicates whether the data disk is encrypted. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'Categories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Category' => [ - 'description' => 'The categories of the data disks. The first value has the highest priority. Other values are arranged in descending order of priorities. If Auto Scaling cannot create instances by using the disk category of the highest priority, Auto Scaling creates instances by using the disk category of the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The categories of the data disks. The first value has the highest priority. Other values are arranged in descending order of priorities. If Auto Scaling cannot create instances by using the disk category of the highest priority, Auto Scaling creates instances by using the disk category of the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.', - 'type' => 'string', - 'example' => 'cloud_essd', - ], - ], - ], - ], - 'ProvisionedIops' => [ - 'description' => 'The IOPS metric that is preconfigured for the data disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Indicates whether the burst feature is enabled for the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only if you set `DataDisk.Category` to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'Details of the tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. 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://``.', - 'type' => 'string', - 'example' => 'binary', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', - 'type' => 'string', - 'example' => 'alterTable', - ], - ], - ], - ], - ], - ], - 'SpotPriceLimit' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SpotPriceModel' => [ - 'description' => 'Details of the preemptible instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the preemptible instances.', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the preemptible instance.', - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'PriceLimit' => [ - 'description' => 'The price limit of the preemptible instance.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.125', - ], - ], - ], - ], - ], - ], - 'InstancePatternInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstancePatternInfo' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'object', - 'properties' => [ - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for pay-as-you-go instances or preemptible instances.', - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs of the instance type.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size of the instance type. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances 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: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'Architectures' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Architecture' => [ - 'description' => 'The architectures of the instance types. Valid values:'."\n" - ."\n" - .'- X86: x86 architecture.'."\n" - .'- Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'- BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'- Arm: ARM architecture.'."\n" - .'- SuperComputeCluster: Super Computing Cluster architecture.', - 'type' => 'array', - 'items' => [ - 'description' => 'The architectures of the instance types. Valid values:'."\n" - ."\n" - .'- X86: x86 architecture.'."\n" - .'- Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'- BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'- Arm: ARM architecture.'."\n" - .'- SuperComputeCluster: Super Computing Cluster architecture.', - 'type' => 'string', - 'example' => 'X86', - ], - ], - ], - ], - 'BurstablePerformance' => [ - 'description' => 'Indicates whether burstable instance types are included. Valid values:'."\n" - ."\n" - .'- Exclude: Burstable instance types are not included.'."\n" - .'- Include: Burstable instance types are included.'."\n" - .'- Required: Only burstable instance types are included.', - 'type' => 'string', - 'example' => 'Include', - ], - 'ExcludedInstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ExcludedInstanceType' => [ - 'description' => 'The instance types that are excluded. You can use wildcard characters such as an asterisk (*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'- ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'- ecs.c6.*: The c6 instance family is excluded.', - 'type' => 'array', - 'items' => [ - 'description' => 'The instance types that are excluded. You can use wildcard characters such as an asterisk (*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'- ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'- ecs.c6.*: The c6 instance family is excluded.', - 'type' => 'string', - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - ], - ], - ], - 'InstanceTypeFamilies' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeFamily' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'MinimumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'GpuSpecs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'GpuSpec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'InstanceCategories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceCategory' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'CpuArchitectures' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CpuArchitecture' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'PhysicalProcessorModels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PhysicalProcessorModel' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'SystemDiskCategories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SystemDiskCategory' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create instances by using the disk whose category has the highest priority, Auto Scaling creates instances by using the disk whose category has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create instances by using the disk whose category has the highest priority, Auto Scaling creates instances by using the disk whose category has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - ], - ], - ], - 'WeightedCapacities' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight of an instance type 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.', - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of the instance type. The weight of an instance type 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.', - 'type' => 'string', - 'example' => '4', - ], - ], - ], - ], - 'InstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Details of the ECS instance types.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the ECS instance types.', - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - ], - ], - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'description' => 'The IDs of the security groups with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the security groups with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.', - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - ], - ], - ], - 'SchedulerOptions' => [ - 'description' => '>This parameter is in invitational preview and is unavailable.', - 'type' => 'object', - 'properties' => [ - 'ManagedPrivateSpaceId' => [ - 'description' => '>This parameter is in invitational preview and is unavailable.', - 'type' => 'string', - 'example' => 'testManagedPrivateSpaceId', - ], - ], - ], - 'SystemDisk.Encrypted' => [ - 'description' => 'Indicates whether the system disk is encrypted. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false', - 'type' => 'boolean', - 'example' => 'false', - ], - 'SystemDisk.KMSKeyId' => [ - 'description' => 'The ID of the KMS key that is used to encrypt the system disk.', - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'SystemDisk.EncryptAlgorithm' => [ - 'description' => 'The algorithm that is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'- AES-256'."\n" - .'- SM4-128', - 'type' => 'string', - 'example' => 'AES-256', - ], - 'SystemDisk.ProvisionedIops' => [ - 'description' => 'The provisioned IOPS for the system disk.'."\n" - ."\n" - .'>IOPS measures the number of read and write operations that an EBS device can process per second.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'SystemDisk.BurstingEnabled' => [ - 'description' => 'Indicates whether the burst feature is enabled for the system disk. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'>This parameter is available only if you set the SystemDisk.Category parameter to cloud_auto.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ImageOptions.LoginAsNonRoot' => [ - 'type' => 'boolean', - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - 'example' => 'false', - ], - 'DeletionProtection' => [ - 'type' => 'boolean', - ], - 'StorageSetId' => [ - 'type' => 'string', - ], - 'StorageSetPartitionNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CustomPriorities' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CustomPriority' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'NetworkInterfaces' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterface' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'DedicatedHostClusterId' => [ - 'type' => 'string', - ], - 'PasswordSetted' => [ - 'type' => 'boolean', - ], - 'SecurityOptions' => [ - 'type' => 'object', - 'properties' => [ - 'ConfidentialComputingMode' => [ - 'type' => 'string', - ], - ], - ], - 'HttpEndpoint' => [ - 'type' => 'string', - ], - 'HttpTokens' => [ - 'type' => 'string', - ], - 'ResourcePoolOptions' => [ - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'type' => 'string', - ], - 'PrivatePoolIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrivatePoolId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ResourceNotAvailable.VPCNetwork', 'errorMessage' => 'The specified zone does not support vpc network or sold out.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": {\\n \\"ScalingConfiguration\\": [\\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!\\",\\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_20140703.vhd\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\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 \\"Category\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ]\\n },\\n \\"SpotPriceLimit\\": {\\n \\"SpotPriceModel\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ]\\n },\\n \\"InstancePatternInfos\\": {\\n \\"InstancePatternInfo\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": {\\n \\"Architecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": {\\n \\"ExcludedInstanceType\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ]\\n },\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamily\\": [\\n \\"ecs.g6\\"\\n ]\\n },\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": {\\n \\"GpuSpec\\": [\\n \\"NVIDIA V100\\"\\n ]\\n },\\n \\"InstanceCategories\\": {\\n \\"InstanceCategory\\": [\\n \\"Compute-optimized with GPU\\"\\n ]\\n },\\n \\"CpuArchitectures\\": {\\n \\"CpuArchitecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"PhysicalProcessorModels\\": {\\n \\"PhysicalProcessorModel\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\\\\\", \\\\\\"Intel Xeon(Skylake) Platinum 8163\\\\\\", … \\\\\\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"\\n ]\\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 },\\n \\"SystemDiskCategories\\": {\\n \\"SystemDiskCategory\\": [\\n \\"cloud\\"\\n ]\\n },\\n \\"WeightedCapacities\\": {\\n \\"WeightedCapacity\\": [\\n \\"4\\"\\n ]\\n },\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n \\"ecs.g6.large\\"\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ]\\n },\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDisk.Encrypted\\": false,\\n \\"SystemDisk.KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"SystemDisk.EncryptAlgorithm\\": \\"AES-256\\",\\n \\"SystemDisk.ProvisionedIops\\": 100,\\n \\"SystemDisk.BurstingEnabled\\": false,\\n \\"ImageOptions.LoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"CustomPriorities\\": {\\n \\"CustomPriority\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-2vc3e1v7h****\\"\\n ]\\n },\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ]\\n },\\n \\"DedicatedHostClusterId\\": \\"dc-2zedxc67zqzt7lb4****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": {\\n \\"PrivatePoolId\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingConfigurationsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <ScalingConfigurations>\\n <DeploymentSetId>ds-bp1frxuzdg87zh4p****</DeploymentSetId>\\n <CreationTime>2014-08-14T10:58Z</CreationTime>\\n <ScalingConfigurationName>scalingconfigura****</ScalingConfigurationName>\\n <SystemDiskDescription>Test system disk.</SystemDiskDescription>\\n <KeyPairName>keypair****</KeyPairName>\\n <SecurityGroupId>sg-bp18kz60mefs****</SecurityGroupId>\\n <PrivatePoolOptions.Id>eap-bp67acfmxazb4****</PrivatePoolOptions.Id>\\n <SystemDiskAutoSnapshotPolicyId>sp-bp12m37ccmxvbmi5****</SystemDiskAutoSnapshotPolicyId>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <ScalingGroupId>asg-bp17pelvl720x3v7****</ScalingGroupId>\\n <Affinity>default</Affinity>\\n <Tenancy>default</Tenancy>\\n <SystemDiskSize>100</SystemDiskSize>\\n <Ipv6AddressCount>1</Ipv6AddressCount>\\n <SpotDuration>1</SpotDuration>\\n <LifecycleState>Active</LifecycleState>\\n <InstanceName>instance****</InstanceName>\\n <SecurityEnhancementStrategy>Active</SecurityEnhancementStrategy>\\n <UserData>echo hello ecs!</UserData>\\n <PrivatePoolOptions.MatchCriteria>Open</PrivatePoolOptions.MatchCriteria>\\n <DedicatedHostId>dh-bp67acfmxazb4p****</DedicatedHostId>\\n <InstanceGeneration>ecs-3</InstanceGeneration>\\n <HpcClusterId>hpc-clus****</HpcClusterId>\\n <PasswordInherit>true</PasswordInherit>\\n <Memory>16</Memory>\\n <ImageId>centos6u5_64_20G_aliaegis_2014****.vhd</ImageId>\\n <ImageFamily>hangzhou-daily-update</ImageFamily>\\n <ImageOwnerAlias>system</ImageOwnerAlias>\\n <LoadBalancerWeight>1</LoadBalancerWeight>\\n <SystemDiskCategory>cloud</SystemDiskCategory>\\n <HostName>LocalHost</HostName>\\n <SystemDiskName>cloud_ssd_Test</SystemDiskName>\\n <InternetMaxBandwidthOut>0</InternetMaxBandwidthOut>\\n <InternetMaxBandwidthIn>200</InternetMaxBandwidthIn>\\n <InstanceType>ecs.g6.large</InstanceType>\\n <InstanceDescription>FinanceDept</InstanceDescription>\\n <IoOptimized>none</IoOptimized>\\n <RamRoleName>ramrole****</RamRoleName>\\n <SystemDiskPerformanceLevel>PL1</SystemDiskPerformanceLevel>\\n <Cpu>2</Cpu>\\n <ResourceGroupId>rg-aekzn2ou7xo****</ResourceGroupId>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <InternetChargeType>PayByTraffic</InternetChargeType>\\n <ImageName>centos6u5_64_20G_aliaegis_20140703.vhd</ImageName>\\n <ScalingConfigurationId>asc-bp1ezrfgoyn5kijl****</ScalingConfigurationId>\\n <CreditSpecification>Standard</CreditSpecification>\\n <SpotInterruptionBehavior>Terminate</SpotInterruptionBehavior>\\n <DataDisks>\\n <PerformanceLevel>PL1</PerformanceLevel>\\n <Description>FinanceDept</Description>\\n <SnapshotId>s-23f2i****</SnapshotId>\\n <Device>/dev/xvdb</Device>\\n <Size>200</Size>\\n <DiskName>cloud_ssdData</DiskName>\\n <AutoSnapshotPolicyId>sp-bp19nq9enxqkomib****</AutoSnapshotPolicyId>\\n <Category>cloud</Category>\\n <KMSKeyId>0e478b7a-4262-4802-b8cb-00d3fb40****</KMSKeyId>\\n <DeleteWithInstance>true</DeleteWithInstance>\\n <Encrypted>false</Encrypted>\\n <Categories>cloud_essd</Categories>\\n <ProvisionedIops>100</ProvisionedIops>\\n <BurstingEnabled>false</BurstingEnabled>\\n </DataDisks>\\n <Tags>\\n <Key>binary</Key>\\n <Value>alterTable</Value>\\n </Tags>\\n <SpotPriceLimit>\\n <InstanceType>ecs.g6.large</InstanceType>\\n <PriceLimit>0.125</PriceLimit>\\n </SpotPriceLimit>\\n <InstancePatternInfos>\\n <MaxPrice>2</MaxPrice>\\n <Cores>2</Cores>\\n <Memory>4</Memory>\\n <InstanceFamilyLevel>EnterpriseLevel</InstanceFamilyLevel>\\n <Architectures>X86</Architectures>\\n <BurstablePerformance>Include</BurstablePerformance>\\n <ExcludedInstanceTypes>ecs.n1.small/ecs.n1.*/*7*</ExcludedInstanceTypes>\\n <InstanceTypeFamilies>[\\"ecs.g6\\", \\"ecs.c6\\", … \\"ecs.r6\\"]</InstanceTypeFamilies>\\n <MinimumCpuCoreCount>2</MinimumCpuCoreCount>\\n <MaximumCpuCoreCount>4</MaximumCpuCoreCount>\\n <GpuSpecs>[\\"NVIDIA V100\\"]</GpuSpecs>\\n <InstanceCategories>[\\"Compute-optimized with GPU\\"]</InstanceCategories>\\n <CpuArchitectures>[\\"X86\\", \\"ARM\\"]</CpuArchitectures>\\n <PhysicalProcessorModels>[\\"Intel Xeon(Ice Lake) Platinum 8369B\\", \\"Intel Xeon(Skylake) Platinum 8163\\", … \\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"]</PhysicalProcessorModels>\\n <MinimumEniQuantity>2</MinimumEniQuantity>\\n <MinimumEniPrivateIpAddressQuantity>2</MinimumEniPrivateIpAddressQuantity>\\n <MinimumEniIpv6AddressQuantity>1</MinimumEniIpv6AddressQuantity>\\n <MinimumInitialCredit>12</MinimumInitialCredit>\\n <MinimumBaselineCredit>12</MinimumBaselineCredit>\\n <MinimumMemorySize>4</MinimumMemorySize>\\n <MaximumMemorySize>4</MaximumMemorySize>\\n <MinimumGpuAmount>2</MinimumGpuAmount>\\n <MaximumGpuAmount>2</MaximumGpuAmount>\\n </InstancePatternInfos>\\n <SystemDiskCategories>cloud</SystemDiskCategories>\\n <WeightedCapacities>4</WeightedCapacities>\\n <InstanceTypes>ecs.g6.large</InstanceTypes>\\n <SecurityGroupIds>sg-bp18kz60mefs****</SecurityGroupIds>\\n <SchedulerOptions>\\n <ManagedPrivateSpaceId>testManagedPrivateSpaceId</ManagedPrivateSpaceId>\\n </SchedulerOptions>\\n <SystemDisk.Encrypted>false</SystemDisk.Encrypted>\\n <SystemDisk.KMSKeyId>0e478b7a-4262-4802-b8cb-00d3fb40****</SystemDisk.KMSKeyId>\\n <SystemDisk.EncryptAlgorithm>AES-256</SystemDisk.EncryptAlgorithm>\\n <SystemDisk.ProvisionedIops>100</SystemDisk.ProvisionedIops>\\n <SystemDisk.BurstingEnabled>false</SystemDisk.BurstingEnabled>\\n <ImageOptions.LoginAsNonRoot>false</ImageOptions.LoginAsNonRoot>\\n <DeletionProtection>false</DeletionProtection>\\n <StorageSetId>ss-bp67acfmxazb4p****</StorageSetId>\\n <StorageSetPartitionNumber>2</StorageSetPartitionNumber>\\n <CustomPriorities>\\n <InstanceType>ecs.g6.large</InstanceType>\\n <VswitchId>vsw-bp14zolna43z266bq****</VswitchId>\\n </CustomPriorities>\\n <NetworkInterfaces>\\n <InstanceType>Primary</InstanceType>\\n <NetworkInterfaceTrafficMode>HighPerformance</NetworkInterfaceTrafficMode>\\n <Ipv6AddressCount>1</Ipv6AddressCount>\\n <SecurityGroupIds>sg-2vc3e1v7h****</SecurityGroupIds>\\n </NetworkInterfaces>\\n <DedicatedHostClusterId>dc-2zedxc67zqzt7lb4****</DedicatedHostClusterId>\\n </ScalingConfigurations>\\n</DescribeScalingConfigurationsResponse>","errorExample":""}]', - 'title' => 'DescribeScalingConfigurations', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]', + 'title' => 'Create a scaling group', + 'description' => '## API Description'."\n" + ."\n" + .'A scaling group is a collection of ECS instances with the same application scenario.'."\n" + ."\n" + .'<props="china">The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of scaling groups**.</props>'."\n" + ."\n" + .'<props="intl">The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of scaling groups**.</props>'."\n" + ."\n" + .'<props="partner">The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of scaling groups**.</props>'."\n" + ."\n\n" + .'A scaling group does not take effect immediately after it is created. You must first call the [EnableScalingGroup](~~25939~~) API to enable the scaling group before it can trigger scaling activities and execute scaling rules.'."\n" + ."\n" + .'The scaling group, associated CLB (formerly SLB) instances, and associated RDS instances must be in the same region. For more information, see [Regions and zones](~~40654~~).'."\n" + ."\n" + .'If you associate a CLB instance with the scaling group, the scaling group automatically adds the ECS instances that join the scaling group to the backend server group of the CLB instance. You can specify the server groups to which the ECS instances are added, including the default server group and vServer groups, as described below:'."\n" + ."\n" + .'> If you specify both the default server group and multiple vServer groups, the ECS instances are added to all these server groups simultaneously.'."\n" + ."\n" + .'- Default server group: receives frontend requests. If a listener does not have a vServer group or primary/secondary server group configured, requests are forwarded to the ECS instances in the default server group by default.'."\n" + .'- vServer group: When you need to forward different requests to different backend servers, or need to forward requests based on domain names and URLs, you can use vServer groups.'."\n" + ."\n" + .'After an ECS instance is added to the backend server group of a CLB instance, the 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](~~27582~~) API to view the status of a specified CLB instance.'."\n" + ."\n" + .'- Health checks must be enabled for all listener ports configured on the CLB instance. Otherwise, the scaling group creation fails.'."\n" + ."\n" + .'If you associate ALB server groups, NLB server groups, or GWLB server groups with the scaling group, the scaling group automatically adds the ECS instances that join the scaling group as backend servers to the ALB, NLB, or GWLB server groups to process access requests distributed by the ALB, NLB, or GWLB instances. You can specify multiple ALB, NLB, or GWLB server groups, but the server groups must belong to the same VPC as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" + ."\n\n" + .'If you associate an RDS instance with the scaling group, the scaling group automatically adds the private IP addresses of the ECS instances that join the scaling group to the whitelist of the RDS instance. The RDS instance must meet the following conditions:'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingConfigurations\\&type=RPC\\&version=2014-08-28)'."\n", + .'- The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~26232~~) API to view the status of a specified RDS instance.'."\n" + ."\n" + .'- The number of IPs in the whitelist of the RDS instance must not exceed the upper limit. For more information, see the RDS documentation [Configure a whitelist](~~43185~~).'."\n" + ."\n" + .'If the `MultiAZPolicy` of the scaling group is set to `COST_OPTIMIZED`:'."\n" + ."\n" + .'- When the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters are specified, the instance allocation method under the cost optimization strategy is defined. During scaling, this instance allocation method is prioritized.'."\n" + ."\n" + .'- When the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools parameters are not specified, the cost optimization strategy only creates instances in the most cost-effective manner. (In this mode, creating instances through Elasticity Assurance or Capacity Reservation is not supported.)'."\n" + ."\n" + .'If you set propagatable tags for the scaling group, i.e., `Tag.N.Propagate` is set to `true`:'."\n" + ."\n" + .'- Tags on the scaling group are only propagated to newly created instances, and are not propagated to instances already running in the scaling group.'."\n" + .'- If you specify instance tags in the scaling configuration and also choose to propagate the scaling group tags to the instance, all tags coexist.'."\n" + .'- If the propagatable tag in the scaling group and the tag in the scaling configuration specify the same tag key, the tag value in the scaling configuration takes precedence.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeactivateScalingConfiguration' => [ - 'summary' => '使指定伸缩配置进入失效状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92661', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asc-bp1ahp2ud7qkzt2a****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D09C9E64-7D19-4E1C-8CD6-123D34A4****', - ], + 'extraInfo' => '|HttpCode|Error Code|Error Message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The specified RDS instance must be in the Running state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health checks must be enabled for the specified CLB instance.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The specified CLB instance must be in the active state.|'."\n" + .'|400|IncorrectVSwitchStatus|The current status of virtual switch does not support this operation.|The vSwitch is unavailable, and ECS instances cannot be created.|'."\n" + .'|400|InvalidDBInstanceId. RegionMismatch|DB instance "XXX" and the specified scaling group are not in the same Region.|The specified RDS instance and the scaling group must be in the same region.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectAddressType|The current address type of specified load balancer does not support this action.|After a vSwitch is specified, the CLB instance must be of the private network type.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified Load Balancer does not support this action.|The network type of ECS instances in the specified CLB instance must be the same as that of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The specified Load Balancer and the specified scaling group are not in the same Region.|The specified CLB instance and the scaling group must be in the same region.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.|The ECS instances in the CLB instance associated with the scaling group must be in the same VPC as the vSwitch.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "ScalingPolicy" is not valid.|The specified reclaim mode parameter does not exist.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter <parameter name> and parameter <parameter name> are conflict.|The specified MinSize cannot be greater than MaxSize.|'."\n" + .'|400|InvalidScalingGroupName.Duplicate|The specified value of parameter <parameter name> is duplicated.|The scaling group name already exists.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IPs in the whitelist of the specified RDS instance has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.PrivateIpAddress|Private IP address quota exceeded in the specified virtual switch.|The vSwitch cannot allocate any more private IP addresses.|'."\n" + .'|400|QuotaExceeded.ScalingGroup|Scaling group quota exceeded.|The number of scaling groups used by the user has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.VPCInstance|Instance quota exceeded in the specified VPC.|The number of instances in the VPC exceeds the limit.|'."\n" + .'|404|InvalidDBInstanceId.NotFound|DB instance "XXX" does not exist.|The specified RDS instance does not exist.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The specified Load Balancer does not exist.|The specified CLB instance does not exist.|'."\n" + .'|404|InvalidRegionId.NotFound|The specified region does not exist.|The specified region does not exist.|'."\n" + .'|404|InvalidVSwitchId.NotFound|The specified virtual switch does not exist.|The specified vSwitch does not exist.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The specified fixed version number of the launch template is not a number.|'."\n" + .'|400|AlbServerGroup.NotExist|The ServerGroup "%s" do(es) not exist.|The specified ALB server group does not exist in the account.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D09C9E64-7D19-4E1C-8CD6-123D34A4****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeactivateScalingConfigurationResponse>\\r\\n <RequestId>D09C9E64-7D19-4E1C-8CD6-123D34A4****</RequestId>\\r\\n</DeactivateScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'DeactivateScalingConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeactivateScalingConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', ], 'CreateScalingRule' => [ - 'summary' => '创建一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Creates a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9936,317 +5039,193 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '92659', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to create the scaling rule.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling rule belongs.', '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 a scaling rule must be unique within an Alibaba Cloud account in a region.'."\n" - ."\n" - .'> If you leave this parameter empty, the scaling rule ID is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length and start with a digit, letter, or Chinese character. It can contain digits, underscores (_), hyphens (-), or periods (.).'."\n" + ."\n" + .'The scaling rule name must be unique within a scaling group under the same user account in the same region.'."\n" + ."\n" + .'>If this parameter is not specified, the default value is the value of ScalingRuleId.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - '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" - ."\n" - .'You can leave this parameter empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The cooldown period of the scaling rule. This parameter is applicable only to simple scaling rules. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: empty.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect if you set `ScalingRuleType` to `SimpleScalingRule` or `StepScalingRule`, and `AdjustmentType` to **PercentChangeInCapacity**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule`, and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The adjustment method of the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. 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', - ], + 'schema' => ['description' => 'The adjustment method of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in these cases. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes the specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes the specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to the specified number.', '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. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. The number of ECS instances that must be scaled in a scaling activity cannot exceed 1,000. Valid values of **AdjustmentValue** vary based on the value of **AdjustmentTyp****e**.'."\n" - ."\n" - .'* Valid values if **AdjustmentType** is set to **QuantityChangeInCapacity**: -1000 to 1000.'."\n" - .'* Valid values if **AdjustmentType** is set to **PercentChangeInCapacity**: -100 to 10000.'."\n" - .'* Valid values if **AdjustmentType** is set to **TotalCapacity**: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The adjustment value of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in these cases. The number of ECS instances adjusted in a single scaling activity cannot exceed 1,000. Valid values for different adjustment methods:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', '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: scales the number of ECS instances based on the values of **AdjustmentType** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\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 specify the value range for the scaling group.'."\n" - ."\n" - .'Default value: SimpleScalingRule'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - 'default' => 'SimpleScalingRule', - ], + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling rule. Adjusts the number of ECS or ECI instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS or ECI instances to scale based on the predefined metric (MetricName) and attempts to keep the metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides a step-based scaling method based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze the historical monitoring data of a scaling group, predict future metric values, and supports automatically creating scheduled tasks to set scaling group boundaries.'."\n" + ."\n" + .'Default value: SimpleScalingRule.', 'type' => 'string', 'required' => false, 'default' => 'SimpleScalingRule', 'example' => 'SimpleScalingRule', 'title' => ''], ], [ 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an ECS instance. This parameter is available only if you set **ScalingRuleType** 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 of the ECS instances to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> When Auto Scaling calculates the number of ECS instances that must be scaled, ECS instances in the Warmup state are not counted toward 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', - ], + 'schema' => ['description' => 'The warm-up period of instances. This parameter is applicable to target tracking scaling rules and step scaling rules. ECS instances in the warm-up state are added to the scaling group as normal but do not report monitoring data to CloudMonitor during the warm-up period.'."\n" + .'> When dynamically calculating the number of ECS instances to scale, instances in the warm-up state are not counted as part of the existing instance count.'."\n" + .' '."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The predefined metric of the scaling rule. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must also specify this parameter.'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in these cases.'."\n" + ."\n\n" + .'Valid values for target tracking scaling rules: '."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (recommended).'."\n" + .'- MemoryUtilization: (Agent) memory utilization (recommended).'."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- VpcInternetTx: (ECS) average outbound traffic over the public network.'."\n" + .'- VpcInternetRx: (ECS) average inbound traffic over the public network.'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group.'."\n" + ."\n" + .'Valid values for predictive scaling rules: '."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + ."\n" + .'For more information, see [System monitoring alert tasks](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The target value. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must also specify this parameter. The value must be greater than 0 and can contain up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], + 'schema' => ['description' => 'The target value. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in these cases. The TargetValue can have up to three decimal places and must be greater than 0.', '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 if you set **ScalingRuleType** to **TargetTrackingScalingRule**.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is applicable only to target tracking scaling rules.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'ScaleInEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-ins 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" - ."\n" - .'Default value: 15'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an alert task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-in alert task triggers an alert.'."\n" + ."\n" + .'Default value: 15.', '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-outs 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" - ."\n" - .'Default value: 3'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an alert task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-out alert task triggers an alert.'."\n" + ."\n" + .'Default value: 3.', '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: provides predictions and creates prediction tasks.'."\n" - .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n" - ."\n" - .'Default value: PredictAndScale'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PredictAndScale', - ], + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.'."\n" + ."\n" + .'Default value: PredictAndScale.', 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], ], [ 'name' => 'PredictiveValueBehavior', 'in' => 'query', - 'schema' => [ - '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 if 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 the ratio is greater than the initial maximum capacity.'."\n" - ."\n" - .'Default value: MaxOverridePredictiveValue'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MaxOverridePredictiveValue', - ], + 'schema' => ['description' => 'The method used to process the maximum value for the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. When the predicted value is greater than the initial maximum value, the maximum value of the prediction task uses the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. When the predicted value is greater than the initial maximum value, the maximum value of the prediction task uses the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified ratio. The predicted value is increased based on the PredictiveValueBuffer ratio. When the increased value is greater than the initial maximum value, the increased value is used.'."\n" + ."\n" + .'Default value: MaxOverridePredictiveValue.', 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], ], [ 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio based on which the predicted value is increased if 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', - ], + 'schema' => ['description' => 'This parameter takes effect only when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. The predicted value is increased by the specified ratio. When the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ 'name' => 'PredictiveTaskBufferTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'Prediction tasks automatically created by a predictive scaling rule are executed at the start of each hour by default. You can set a pre-launch time to execute prediction tasks in advance to prepare resources ahead of time. Valid values: 0 to 60. Unit: minutes.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ 'name' => 'InitialMaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be added to the scaling group. If you specify **InitialMaxSize**, you must also specify **PredictiveValueBehavior**.'."\n" - ."\n" - .'The default value of this parameter is the value of **MaxSize**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used in combination with PredictiveValueBehavior.'."\n" + ."\n" + .'Default value: the maximum number of instances in the scaling group (the value of MaxSize).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'StepAdjustment', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the step adjustments.', + 'description' => 'The collection of instance scaling information corresponding to step adjustments.', 'type' => 'array', 'items' => [ + 'description' => 'The collection of instance scaling information corresponding to step adjustments.', 'type' => 'object', 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit of a step adjustment. This parameter takes effect only if you set **ScalingRuleType** 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 each step adjustment. This parameter is available if you set **ScalingRuleType** to **StepScalingRule**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit of a step adjustment. This parameter is available if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'MetricIntervalUpperBound' => ['description' => 'The upper boundary of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale corresponding to a step adjustment. This parameter is applicable only to step scaling rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower boundary of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], 'required' => false, - 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', + '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AlarmDimension', @@ -10254,83 +5233,89 @@ 'allowEmptyValue' => false, 'style' => 'repeatList', 'schema' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', 'type' => 'array', 'items' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension key of the metric.'."\n", - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension value of the metric.'."\n", - 'example' => 'sgp-j4zhc14afvtg9khq8o', - ], + 'DimensionKey' => ['description' => 'The key of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 5, - 'description' => 'The dimension information associated with the item is applicable to the target tracking rule and is set when the item requires additional dimension information, for example, the `LoadBalancerRealServerAverageQps` item needs to specify the `rulePool` dimension information.', + 'title' => '', + 'example' => '', ], ], [ 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ 'name' => 'HybridMonitorNamespace', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring metric namespace.'."\n" + ."\n" + .'To manage metric namespaces, see [Manage metric namespaces](~~217606~~).', 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], ], [ 'name' => 'HybridMetrics', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The Hybrid Cloud Monitoring metric settings. For information about how to configure them, see [Use formula-based custom target tracking rules](~~2852162~~).', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.', 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The metric expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling.'."\n" + ."\n" + .'The expression must conform to the Reverse Polish Notation (RPN) specification, and only the operators `+ - * /` are supported.', 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The metric name in the Hybrid Cloud Monitoring metric namespace.', 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified period.'."\n" + .'- Minimum: the minimum value of all data points within the specified period.'."\n" + .'- Maximum: the maximum value of all data points within the specified period.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], 'Dimensions' => [ + 'description' => 'The metric dimensions. Used to specify the resources monitored by the metric.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', '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' => '', ], ], [ @@ -10338,13 +5323,22 @@ 'in' => 'query', 'style' => 'flat', 'schema' => [ + 'description' => 'The alert attribute definitions.', 'type' => 'object', 'properties' => [ - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'Period' => ['description' => 'The period for collecting 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.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -10353,63 +5347,74 @@ '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****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', '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.', 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateScalingRuleResponse>\\n <ScalingRuleAri>ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****</ScalingRuleAri>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ScalingRuleId>asr-bp1dvirgwkoowxk7****</ScalingRuleId>\\n</CreateScalingRuleResponse>","errorExample":""}]', + '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"}]', 'title' => 'CreateScalingRule', - 'description' => '## Usage notes'."\n" - ."\n" - .'A scaling rule specifies a specific scaling action, such as adding or removing *N* Elastic Compute Service (ECS) instances. If the number of ECS instances in a scaling group is less than the minimum number allowed or greater than the maximum number allowed after a scaling rule is executed, Auto Scaling adjusts the number of ECS instances to ensure that the number of ECS instances is still within the valid range after the scaling rule is executed. Examples:'."\n" - ."\n" - .'* If your scaling group contains two ECS instances and allows up to three ECS instances, only one ECS instance is added to your scaling group after you execute a scale-out rule in which three ECS instances are specified.'."\n" - .'* If your scaling group contains three ECS instances and requires at least two ECS instances, only one ECS instance is removed from your scaling group after you execute a scale-in rule in which five ECS instances are specified.'."\n" + 'description' => '## API Description'."\n" ."\n" - .'Before you call this operation, take note of the following items:'."\n" + .'Note the following about the related parameters:'."\n" ."\n" - .'* If you set **AdjustmentType** to **TotalCapacity**, the number of ECS instances in the scaling group is adjusted to a specified value. The value of **AdjustmentValue** must be greater than or equal to 0.'."\n" - ."\n" - .'* If you set **AdjustmentType** to **QuantityChangeInCapacity**, a positive value of **AdjustmentValue** specifies the number of ECS instances that are added to the scaling group, and a negative value specifies the number of ECS instances that are removed from the scaling group.'."\n" - ."\n" - .'* If you set **AdjustmentType** to **PercentChangeInCapacity**, Auto Scaling calculates a value by using the following formula, and then rounds the value to the nearest integer to obtain the number of ECS instances that must be scaled: Value of **TotalCapacity** × Value of **AdjustmentValue**/100.'."\n" - ."\n" - .'* If you specify a cooldown period for a scaling rule, the cooldown period of the scaling rule takes effect after you execute the scaling rule. If you do not specify a cooldown period for a scaling rule, the value of **DefaultCooldown** of the scaling group takes effect after you execute the scaling rule.'."\n" - ."\n" - .'* You can create only a limited number of scaling rules for a scaling group. For more information, see [Limits](~~25863~~).'."\n" - ."\n" - .'* The following API operations may use the unique identifier of a scaling rule (ScalingRuleAri) that is returned by the CreateScalingRule operation:'."\n" - ."\n" - .' * ExecuteScalingRule: You can call this operation to manually execute a scaling rule. In this operation, you can set **ScalingRuleAri** to the unique identifier of the scaling rule that you want to execute.'."\n" - .' * CreateScheduledTask: You can call this operation to create a scheduled task for a scaling rule. In this operation, you can set **ScalingRuleAri** to the unique identifier of the scaling rule for which you want to create a scheduled task.'."\n", + .'- When AdjustmentType is TotalCapacity, it adjusts the number of ECS or ECI instances in the current scaling group to the specified number. The corresponding AdjustmentValue must be greater than or equal to 0.'."\n" + .'- When AdjustmentType is QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates adding instances and a negative value indicates removing instances.'."\n" + .'- When AdjustmentType is PercentChangeInCapacity, Auto Scaling calculates the number of ECS or ECI instances to add or remove using the formula: current instance count (Total Capacity) x AdjustmentValue / 100, with rounding applied.'."\n" + .'- When a cooldown period (Cooldown) is specified in the scaling rule, the scaling group will be cooled down for the specified period after the scaling activity triggered by this rule is completed. If no cooldown period is specified in the scaling rule, the cooldown period specified for the scaling group (DefaultCooldown) is used.'."\n" + .'- The number of scaling rules that can be created in a scaling group is limited. For more information, see [Limits](~~25863~~).'."\n" + .'- The returned unique identifier of the scaling rule (ScalingRuleAri) can be used in the following APIs:'."\n" + .' - Specified in the ScalingRuleAri parameter of ExecuteScalingRule to manually execute the scaling rule.'."\n" + .' - Specified in the ScheduledAction parameter of CreateScheduledTask to execute the scaling rule on a schedule.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteScalingRule' => [ - 'summary' => '删除一条伸缩规则', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error Code|Error Message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under this user account.|'."\n" + .'|400|InvalidScalingRuleName.Duplicate|The specified value of parameter <parameter name> is duplicated.|The scaling rule name already exists.|'."\n" + .'|400|QuotaExceeded.ScalingRule|Scaling rule quota exceeded in the specified scaling group.|The number of scaling rules used by the user has reached the upper limit.|'."\n" + .'|400|TargetTrackingScalingRule.UnsupportedMetric|Specific metric is not supported for target tracking scaling rule.|The current metric is not supported for target tracking scaling rules.|'."\n" + .'|400|TargetTrackingScalingRule.DumplicateMetric|Only one TargetTrackingScaling rule for a given metric specification is allowed.|Only one target tracking scaling rule is allowed for the same metric within a scaling group.|'."\n" + .'|400|InvalidMinAdjustmentMagnitudeMismatchAdjustmentType|MinAdjustmentMagnitude is not supported by the specified adjustment type.|MinAdjustmentMagnitude does not support the current scaling rule adjustment type.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullUpperBound|At most one StepAdjustment may have an unspecified upper bound.|At most one step adjustment can have an unspecified upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullLowerBound|At most one StepAdjustment may have an unspecified lower bound.|At most one step adjustment can have an unspecified lower boundary.|'."\n" + .'|400|InvalidStepAdjustments.NoNullLowerBound|There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound.|When a step adjustment has a negative lower boundary, there must be a step adjustment with an unspecified lower boundary.|'."\n" + .'|400|InvalidStepAdjustments.NoNullUpperBound|There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound.|When a step adjustment has a positive upper boundary, there must be a step adjustment with an unspecified upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.Gap|StepAdjustment intervals can not have gaps between them.|There must be no gaps between step adjustment intervals.|'."\n" + .'|400|InvalidStepAdjustments.Overlap|StepAdjustment intervals can not overlap.|Step adjustment intervals must not overlap.|'."\n" + .'|400|InvalidStepAdjustments.LowerGtUpper|LowerBound must be less than the UpperBound for StepAdjustment :%s.|Within the same step adjustment, the lower boundary must be less than the upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.BothNull|Both lower and upper bounds of a StepAdjustment can not be left unspecified.|Within the same step adjustment, both the upper and lower boundaries cannot be left unspecified.|'."\n" + .'|400|InvalidStepAdjustments.MaxNum|Your scaling rule can have at most %s StepAdjustments.|The number of step adjustments within the same scaling group exceeds the threshold.|'."\n" + .'|400|StepBeyondPermitRange|Specific parameter "%s" beyond permit range.|The upper or lower boundary of a step adjustment exceeds the permitted range.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingRule'], + ], ], + ], + 'CreateScheduledTask' => [ + 'summary' => 'Creates a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10417,32 +5422,119 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92668', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92660', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling rule that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp163l21e07uhnyt****', - ], + 'schema' => ['description' => 'The ID of the region where the scheduled task resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + '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 digit, letter, or Chinese character. The name must be unique within the same account in the same region. '."\n" + ."\n" + .'Default value: the value of `ScheduledTaskId`.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.', 'title' => ''], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => ['description' => 'The scaling rule to execute when the scheduled task is triggered. Set this parameter to the unique identifier of the scaling rule.'."\n" + ."\n" + .'If you specify this parameter, the scaling method of the scheduled task is to use an existing scaling rule.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId`.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', 'title' => ''], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the recurrence for the scheduled task.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in UTC. Format: `YYYY-MM-DDThh:mmZ`. The end time cannot be more than 365 days from the date of creation.', 'type' => 'string', 'required' => false, 'example' => '2014-08-17T16:55Z', 'title' => ''], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => ['description' => 'The point in time at which the scheduled task is triggered.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in UTC. Format: `YYYY-MM-DDThh:mmZ`. The time cannot be more than 90 days from the date of creation. '."\n" + ."\n" + .'- If you specify `RecurrenceType`, the scheduled task is executed repeatedly at the time specified by this parameter.'."\n" + ."\n" + .'- If you do not specify `RecurrenceType`, the task is executed only once at the specified date and time.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2014-08-17T16:52Z', 'title' => ''], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence type of the scheduled task. Valid values: '."\n" + .'- Daily: The scheduled task is executed once every specified number of days. '."\n" + .'- Weekly: The scheduled task is executed on specified days of each week. '."\n" + .'- Monthly: The scheduled task is executed on specified days of each month. '."\n" + .'- Cron: The scheduled task is executed based on the specified cron expression. '."\n" + ."\n" + .'You must specify both `RecurrenceType` and `RecurrenceValue`.', 'type' => 'string', 'required' => false, 'example' => 'Daily', 'title' => ''], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence value of the scheduled task. '."\n" + ."\n" + .'- If `RecurrenceType` is set to `Daily`, you can specify only one value. Valid values: 1 to 31. '."\n" + .'- If `RecurrenceType` is set to `Weekly`, you can specify multiple values separated by commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are `0,1,2,3,4,5,6`. '."\n" + .'- If `RecurrenceType` is set to `Monthly`, the value is in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A. '."\n" + .'- If `RecurrenceType` is set to `Cron`, the value is a UTC-based cron expression that supports five fields: minute, hour, day, month, and day of week. The following wildcard characters are supported: comma (,), question mark (?), hyphen (-), asterisk (\\*), pound sign (#), forward slash (/), L, and W. '."\n" + ."\n" + .'You must specify both `RecurrenceType` and `RecurrenceValue`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values: '."\n" + .'- true: enables the task.'."\n" + .'- false: disables the task.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => ['description' => 'The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'default' => '600', 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.'."\n" + ."\n" + .'> The scaling group must have the expected number of instances feature enabled, which means `DesiredCapacity` was specified when the scaling group was created.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group whose number of instances is modified when the scheduled task is triggered.'."\n" + ."\n" + .'If you specify this parameter, the scaling method of the scheduled task is to set the number of instances in the scaling group. You must specify a value for at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId`.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], ], 'responses' => [ @@ -10450,1148 +5542,1163 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'ScheduledTaskId' => ['description' => 'The ID of the scheduled task. The ID is globally unique and generated by the system.', 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteScalingRuleResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteScalingRuleResponse>","errorExample":""}]', - 'title' => 'DeleteScalingRule', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create a scheduled task', + 'description' => '## Operation description'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteScalingRule\\&type=RPC\\&version=2014-08-28)'."\n", + .'- If a scheduled task fails to trigger a scaling rule because a scaling activity is in progress in the scaling group or the scaling group is disabled, the scheduled task automatically retries within the period specified by `LaunchExpirationTime`. Otherwise, the scheduled task is skipped.'."\n" + .'- If multiple scheduled tasks trigger scaling rules for the same scaling group within a similar time frame, the details of the triggered scaling activities are as follows:'."\n" + .' - **Scaling groups with the expected number of instances configured**: The scaling activities triggered by multiple scheduled tasks are parallel scaling activities. For example, when multiple scheduled tasks are executed within a similar time frame, the scaling group can trigger multiple parallel scaling activities simultaneously.'."\n" + .' - **Scaling groups without the expected number of instances configured**: The earliest triggered scheduled task executes the scaling activity first. Because a scaling group can have only one scaling activity at a time, subsequent scheduled tasks automatically retry within the period specified by `LaunchExpirationTime`. If the previous scaling activity is completed while a subsequent scheduled task is still retrying within the `LaunchExpirationTime` period, the scaling rule of that scheduled task is executed and the corresponding scaling activity is triggered.'."\n" + .'- Scheduled tasks support the following two scaling methods:'."\n" + .' - Use the `ScheduledAction` parameter to specify the scaling rule to execute.'."\n" + .' - Use the `ScalingGroupId` parameter to specify the number of instances in the scaling group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ModifyScalingRule' => [ - 'summary' => '修改一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidRegionId.NotFound|The specified region does not exist.|The specified region does not exist.|'."\n" + .'|400|InvalidScheduledTaskName.Duplicate|The specified value of parameter ScheduledTaskName is duplicated.|The scheduled task name already exists.|'."\n" + .'|400|QuotaExceeded.ScheduledTask|Scheduled task quota exceeded.|The number of scheduled tasks has reached the upper limit.|'."\n" + .'|400|ScheduledAction.RegionMismatch|The specified scheduled task and the specified scheduled action are not in the same Region.|The specified ScheduledAction and the scheduled task are not in the same region.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScheduledTask'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DeactivateScalingConfiguration' => [ + 'summary' => 'Deactivates a specified scaling configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92710', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'abilityTreeCode' => '92661', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'required' => true, 'example' => 'asc-bp1ahp2ud7qkzt2a****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the scaling rule that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp1dvirgwkoowxk7****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D09C9E64-7D19-4E1C-8CD6-123D34A4****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - '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. The name of a scaling rule must be unique within an Alibaba Cloud account in a region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D09C9E64-7D19-4E1C-8CD6-123D34A4****\\"\\n}","type":"json"}]', + 'title' => 'Deactivate a specified scaling configuration', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the scaling configuration belongs must be in the Inactive state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateScalingConfiguration'], + ], + ], + ], + 'DeleteAlarm' => [ + 'summary' => 'Deletes an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set **ScalingRuleType** to **SimpleScalingRule**.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92662', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ [ - 'name' => 'MinAdjustmentMagnitude', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect only when `ScalingRuleType` is set to `SimpleScalingRule` or `StepScalingRule` and **AdjustmentType** is set to `PercentChangeInCapacity`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'AdjustmentType', + 'name' => 'AlarmTaskId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The adjustment method of the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of Elastic Compute Service (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', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'Delete an event-triggered task', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlarm'], + ], + ], + 'ramActions' => [ [ - 'name' => 'AdjustmentValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances that must be scaled based on the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. The number of ECS instances to be scaled in a single scaling activity cannot exceed 1,000. Valid values of **AdjustmentValue** vary based on the value of **AdjustmentType**.'."\n" - ."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **QuantityChangeInCapacity**: -1000 to 1000.'."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **PercentChangeInCapacity**: -100 to 10000.'."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **TotalCapacity**: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DeleteEciScalingConfiguration' => [ + 'summary' => 'Deletes a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EstimatedInstanceWarmup', - 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an ECS instance. This parameter is available only if you set **ScalingRuleType** 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 of the ECS instances to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> When Auto Scaling calculates the number of ECS instances that you want to scale, the ECS instances that are 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', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92663', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], + ], + 'parameters' => [ [ - 'name' => 'MetricName', + 'name' => 'ScalingConfigurationId', '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 of **MetricName** when** ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .'Valid values of **MetricName** when **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1bx8mzur534edp****', 'title' => ''], ], [ - 'name' => 'TargetValue', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The target value. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**. The value must be greater than 0 and can contain up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n" + ."\n" + .'The system returns a request ID regardless of whether the API call is successful.', 'type' => 'string', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B0****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DisableScaleIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B0****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'Before you delete an ECI-type scaling configuration, take note of the following conditions under which the scaling configuration cannot be deleted:'."\n" + ."\n" + .'- The scaling configuration is in the Active state in the scaling group.'."\n" + .'- ECI instances created from the scaling configuration still exist in the scaling group.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in your account.|'."\n" + .'|400|IncorrectScalingConfigurationLifecycleState|The current lifecycle state of specified scaling configuration does not support this action.|The specified scaling configuration is not in the Inactive state.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|ECI instances associated with the specified scaling configuration have not been deleted.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DeleteLifecycleHook' => [ + 'summary' => 'Deletes a lifecycle hook.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScaleInEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-ins meets 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', - 'required' => false, - 'example' => '15', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92664', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], + ], + 'parameters' => [ [ - 'name' => 'ScaleOutEvaluationCount', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-outs meets 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', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14g3ee6bt3sc98****', 'title' => ''], ], [ - 'name' => 'PredictiveScalingMode', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - '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', - 'required' => false, - 'example' => 'PredictAndScale', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'PredictiveValueBehavior', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - '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 if 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', - 'required' => false, - 'example' => 'MaxOverridePredictiveValue', - ], + 'schema' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], [ - 'name' => 'PredictiveValueBuffer', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', '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' => 'Delete a lifecycle hook', + 'description' => '## Operation description'."\n" + ."\n" + .'If a lifecycle hook has triggered a scaling activity wait state, deleting the lifecycle hook ends the corresponding wait state early. You can delete a lifecycle hook by using one of the following methods:'."\n" + ."\n" + .'- Specify the lifecycle hook ID (`LifecycleHookId`). In this case, the `ScalingGroupId` and `LifecycleHookName` parameters are ignored.'."\n" + ."\n" + .'- Specify both the scaling group ID (`ScalingGroupId`) and the lifecycle hook name (`LifecycleHookName`).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is invalid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidLifecycleHookId.NotExist|The specified lifecycleHookId does not exist.|The specified lifecycle hook ID does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.NotExist|The specified lifecycleHookName you provided does not exist.|The specified lifecycle hook name does not exist.', + '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}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecycleHook'], + ], + ], + ], + 'DeleteNotificationConfiguration' => [ + 'summary' => 'Deletes an auto scaling event and resource change notification.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PredictiveTaskBufferTime', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92665', + 'abilityTreeNodes' => ['FEATUREessJ2FJEV'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created by a predictive scaling rule are executed on the hour. You can set a buffer time to execute prediction tasks and prepare resources in advance. Valid values: 0 to 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'InitialMaxSize', + 'name' => 'NotificationArn', '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', - ], + 'schema' => ['description' => 'The identity of the Notification Recipient. The parameter format varies by notification method:'."\n" + ."\n" + .'- monitoring: `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the parameter format have the following meanings:'."\n" + ."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], ], [ - 'name' => 'StepAdjustment', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Details of the step adjustments.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit of a step adjustment. This parameter takes effect only if you set **ScalingRuleType** 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 each step adjustment. This parameter is available only if you set **ScalingRuleType** to **StepScalingRule**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit in a step adjustment. This parameter is available only if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete an auto scaling event and resource change notification', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|NotificationConfigurationNotExist|The specified notification configuration not exist for the scaling group.|The specified auto scaling event and resource change notification does not exist for the scaling group.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNotificationConfiguration'], + ], + ], + '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' => [ + 'summary' => 'Deletes a scaling configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AlarmDimension', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92666', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'asc-bp1bx8mzur534edp****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension key of the metric.'."\n", - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension value of the metric.'."\n", - 'example' => 'sgp-j4zhc14afvtg9khq8o', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID. The request ID is returned regardless of whether the call is successful.', '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' => 'Delete a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'You cannot delete a scaling configuration in the following scenarios:'."\n" + ."\n" + .'- The scaling configuration is in the Active state in the scaling group.'."\n" + .'- ECS instances that were created from the scaling configuration still exist in the scaling group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the current account.|'."\n" + .'|400|IncorrectScalingConfigurationLifecycleState|The current lifecycle state of specified scaling configuration does not support this action.|The specified scaling configuration is not in the Inactive state.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|ECS instances associated with the specified scaling configuration have not been deleted.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 5, - 'description' => 'The dimension information associated with the item is applicable to the target tracking rule and is set when the item requires additional dimension information, for example, the `LoadBalancerRealServerAverageQps` item needs to specify the `rulePool` dimension information.', ], ], + ], + ], + 'DeleteScalingGroup' => [ + 'summary' => 'Deletes a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MetricType', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92667', + 'abilityTreeNodes' => ['FEATUREess909XOL'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'HybridMonitorNamespace', + 'name' => 'ForceDelete', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to force delete the scaling group and remove and release ECS instances or elastic container instances if the scaling group contains ECS instances or elastic container instances, or if a scaling activity is in progress. Valid values:'."\n" + ."\n" + .'- true: Force deletes the scaling group. The scaling group is first stopped and new scaling activity requests are rejected. After existing scaling activities are complete, all ECS instances and elastic container instances in the scaling group are removed from the scaling group. Manually added ECS instances and elastic container instances are removed, and ECS instances and elastic container instances that are automatically created by Auto Scaling are deleted. Then, the scaling group is deleted.'."\n" + ."\n" + .'- false: Does not force delete the scaling group. The scaling group is stopped and then deleted if the following conditions are met:'."\n" + ."\n" + .' - No scaling activity is being executed in the scaling group.'."\n" + ."\n" + .' - The current number of ECS instances or elastic container instances (Total Capacity) in the scaling group is 0.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'HybridMetrics', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 10, - ], - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', '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' => 'Delete a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'Take note of the following items when you delete a scaling group:'."\n" + ."\n" + .'- Deleting a scaling group also deletes the associated scaling configurations, scaling rules, scaling activities, and scaling requests.'."\n" + ."\n" + .'- Deleting a scaling group does not delete scheduled nodes, CloudMonitor event-triggered tasks, load balancing instances, or ApsaraDB RDS instances.'."\n" + ."\n" + .'- If you enabled the `Enable Scaling Group Protection` feature when you created the scaling group, you cannot delete the scaling group in the console or by calling an API operation. This effectively prevents accidental deletion of the scaling group.'."\n" + ."\n" + .'- If you enabled the `Instance Release Protection` feature when you created ECS instances and then added the instances to a scaling group for management, manually added ECS instances are forcibly removed from the scaling group and automatically created ECS instances are automatically released together with the scaling group when you delete the scaling group.'."\n" + ."\n" + .' >Before you delete a scaling group, to prevent ECS instances in the scaling group from being forcibly released, you must enable the protection feature for ECS instances in the scaling group even if you have separately enabled instance release protection for the ECS instances. This ensures that the instances are not forcibly released when the scaling group is deleted. For more information, see [SetInstancesProtection](~~459342~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|The specified scaling group contains ECS instances or elastic container instances.|.', + '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}'], ], - 'maxItems' => 100, ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingGroup'], + ], + ], + ], + 'DeleteScalingRule' => [ + 'summary' => 'Deletes a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AlarmOptions', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92668', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleId', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'The ID of the scaling rule to be deleted.', 'type' => 'string', 'required' => true, 'example' => 'asr-bp163l21e07uhnyt****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'RequestId' => ['description' => 'The request ID.', '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' => 'Delete a scaling rule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleId.NotFound|The specified scaling rule does not exist.|The specified scaling rule does not exist in the current account.', + '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}'], ], ], ], ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingRule'], + ], + ], + ], + 'DeleteScheduledTask' => [ + 'summary' => 'Deletes a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92669', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scheduled task. The ID is generated by the system and is globally unique.', 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scheduled task.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyScalingRuleResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyScalingRuleResponse>","errorExample":""}]', - 'title' => 'ModifyScalingRule', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ModifyScalingRule\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scheduled task', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeScalingRules' => [ - 'summary' => '查询伸缩规则', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScheduledTaskId.NotFound|The specified scheduled task does not exist.|The specified scheduled task does not exist in the current account.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScheduledTask'], + ], ], + ], + 'DescribeAlarms' => [ + 'summary' => 'Queries information about event-triggered tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '92685', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'abilityTreeCode' => '92670', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the region where the event-triggered task resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ScalingGroupId', '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', - 'default' => '1', - ], + 'schema' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group whose scaling rules you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The state of the event-triggered task. Valid values:'."\n" + ."\n" + .'- ALARM: The alert condition is met.'."\n" + .'- OK: The alert condition is not met.'."\n" + .'- INSUFFICIENT_DATA: Insufficient data to determine whether the alert condition is met.', 'type' => 'string', 'required' => false, 'example' => 'OK', 'title' => ''], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'IsEnable', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: scales the number of Elastic Compute Service (ECS) instances based on the values of **AdjustmentType** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\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 creates scheduled tasks to adjust the minimum and maximum numbers of instances for the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - ], + 'schema' => ['description' => 'Specifies whether the event-triggered task is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ShowAlarmRules', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rules. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ - 'name' => 'ScalingRuleId', + 'name' => 'MetricName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling rules that you want to query.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of scaling rule *N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], - 'required' => false, - 'example' => 'asr-bp1dvirgwkoowxk7****', - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The name of the monitoring metric.', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scaling rules that you want to query.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of scaling rule* N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'scalingrule****', - ], - 'required' => false, - 'example' => 'scalingrule****', - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The number of entries per page for paging queries. Settings the number of rows per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'ScalingRuleAri', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The unique identifier of scaling rule *N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The page number of the event-triggered task list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The information about event-triggered tasks.', '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 scaling rules.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingRules' => [ + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'AlarmList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ScalingRule' => [ - 'description' => 'The information about the scaling rules.'."\n", + 'Alarm' => [ + 'description' => 'The list of event-triggered tasks.', 'type' => 'array', 'items' => [ + 'description' => 'The list of event-triggered tasks.', 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The predefined metric of the scaling rule. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must specify this parameter.'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - ."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - ."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - ."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - ."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - ."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - ."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .' Valid values if **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - ."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - ."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'AdjustmentType' => [ - 'description' => 'The adjustment method of the scaling rule. 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', - 'example' => 'QuantityChangeInCapacity', - ], - 'InitialMaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be added to the scaling group. If you specify **InitialMaxSize**, you must also specify **PredictiveValueBehavior**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EstimatedInstanceWarmup' => [ - 'description' => 'The warmup period of an ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScaleOutEvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-outs 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 `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 the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MinSize' => [ - 'description' => 'The minimum number of ECS instances that the scaling group must contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group whose scaling rules are queried.'."\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 if 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 the ratio is greater than the initial maximum capacity.'."\n", - 'type' => 'string', - 'example' => 'MaxOverridePredictiveValue', - ], - 'TargetValue' => [ - 'description' => 'The target value.'."\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 the scaling group can contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PredictiveValueBuffer' => [ - 'description' => 'The ratio based on which the predicted value is increased if you set **PredictiveValueBehavior** to **PredictiveValueOverrideMaxWithBuffer**. If the predicted value that is 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: adjusts the number of ECS instances based on the values of **AdjustmentTyp****e** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\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 creates scheduled tasks to adjust the minimum and maximum numbers of instances for the scaling group.'."\n", - 'type' => 'string', - 'example' => 'SimpleScalingRule', - ], - 'AdjustmentValue' => [ - 'description' => 'The number of instances that need to 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 created for scale-ins 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 to disable scale-in. 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' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metric. Valid values:'."\n" + ."\n" + .'- CpuUtilization: (ECS) CPU utilization (%).'."\n" + .'- ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + .'- IntranetTx: (ECS) outbound traffic over the internal network (KB/min).'."\n" + .'- IntranetRx: (ECS) inbound traffic over the internal network (KB/min).'."\n" + .'- VpcInternetTx: (ECS) outbound traffic over the Internet (KB/min).'."\n" + .'- VpcInternetRx: (ECS) inbound traffic over the Internet (KB/min).'."\n" + .'- SystemDiskReadBps: (ECS) system cloud disk read BPS (bytes/s).'."\n" + .'- SystemDiskWriteBps: (ECS) system cloud disk write BPS (bytes/s).'."\n" + .'- SystemDiskReadOps: (ECS) system cloud disk read IOPS (operations/s).'."\n" + .'- SystemDiskWriteOps: (ECS) system cloud disk write IOPS (operations/s).'."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + .'- GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + .'- GpuMemoryFreeUtilizationAgent: (Agent) idle GPU memory (%).'."\n" + .'- GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + .'- MemoryUtilization: (Agent) memory usage (%).'."\n" + .'- LoadAverage: (Agent) average system load.'."\n" + .'- TcpConnection: (Agent) total number of TCP connections.'."\n" + .'- TcpConnection: (Agent) number of established TCP connections.'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the internal NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the internal NIC (packets/s).'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the public NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the public NIC (packets/s).'."\n" + .'- EciPodCpuUtilization: CPU utilization (%).'."\n" + .'- EciPodMemoryUtilization: memory usage (%).'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (queries/s).'."\n" + ."\n" + .'For more information, see [System monitoring event-triggered tasks](~~74854~~).', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold expression must be met before the scaling rule is triggered. For example, the average CPU utilization must be greater than or equal to 80% for three consecutive statistical periods.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'State' => ['description' => 'The state of the event-triggered task. Valid values:'."\n" + ."\n" + .'- ALARM: The alert condition is met.'."\n" + .'- OK: The alert condition is not met.'."\n" + .'- INSUFFICIENT_DATA: Insufficient data to determine whether the alert condition is met.', 'type' => 'string', 'example' => 'ALARM', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data, in seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Only ECS-type scaling groups support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric. This operator specifies the condition under which the alert is triggered. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + ."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + ."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + ."\n" + .'- The statistical value is less than the threshold. Value: <.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'Effective' => ['description' => 'The effective period of the event-triggered task.', 'type' => 'string', 'example' => '* * * * * ?', 'title' => ''], + 'Description' => ['description' => 'The description of the event-triggered task.', 'type' => 'string', 'example' => 'Test alarm task.', 'title' => ''], + 'MetricType' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Name' => ['description' => 'The name of the event-triggered task.', 'type' => 'string', 'example' => 'TestAlarmTask', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics. The scaling rule is triggered when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'example' => '80.0', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the event-triggered task is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Alarm' => [ - 'description' => 'The event-triggered tasks that are associated with the scaling rule. This parameter is returned only if you set **ShowAlarmRules** to **true**. Otherwise, an empty list is returned.'."\n", + 'Dimension' => [ + 'description' => 'The dimension information associated with the monitoring metric.', 'type' => 'array', 'items' => [ + 'description' => 'The dimension information associated with the monitoring metric.', '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 in 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 metric threshold: >='."\n" - .'* Valid value if the metric value is less than or equal to the metric threshold: <='."\n" - .'* Valid value if the metric value is greater than the metric threshold: >'."\n" - .'* Valid value if the metric value is less than the metric threshold: <'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'MetricName' => [ - 'description' => 'The name of the metric in the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of consecutive times that 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 in the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* system: system metric'."\n" - .'* custom: custom metric'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric in 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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* scaling_group: the ID of the scaling group'."\n" - .'* userId: the ID of the Alibaba Cloud account'."\n", - 'type' => 'string', - 'example' => 'scaling_group', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - ], - ], - ], - ], - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'DimensionKey' => ['description' => 'The key of the dimension information associated with the monitoring metric. Valid values:'."\n" + ."\n" + .'- user_id: the ID of your account.'."\n" + .'- scaling_group: the scaling group being monitored.'."\n" + .'- device: the type of the NIC device.'."\n" + .'- state: the state of the TCP connection.', 'type' => 'string', 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension information associated with the monitoring metric. The valid values depend on the dimension key.'."\n" + ."\n" + .'- `user_id`: automatically populated by the system.'."\n" + ."\n" + .'- `scaling_group`: automatically populated by the system.'."\n" + ."\n" + .'- Valid values of `device`:'."\n" + .' - eth0: For classic VPC-connected instances, eth0 represents the internal NIC. For VPC instances, only the eth0 NIC exists.'."\n" + .' - eth1: For classic VPC-connected instances, eth1 represents the public NIC.'."\n" + ."\n" + .'- Valid values of `state`:'."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.', 'type' => 'string', 'example' => 'eth0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'StepAdjustments' => [ + 'AlarmActions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'StepAdjustment' => [ - 'description' => 'The step adjustments of the step scaling rule.', + 'AlarmAction' => [ + 'description' => 'The list of unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The number of ECS instances that are scaled in a step adjustment.', - 'type' => 'number', - 'format' => 'float', - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The lower limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'auditing', - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - ], - 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', - ], + 'items' => ['description' => 'The list of unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'AlarmDimensions' => [ + 'Expressions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'AlarmDimension' => [ + 'Expression' => [ + 'description' => 'The information about multi-metric alert rules.', 'type' => 'array', 'items' => [ + 'description' => 'The information about multi-metric alert rules.', 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values: '."\n" + ."\n" + .'- CpuUtilization: (ECS) CPU utilization (%).'."\n" + .'- ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + .'- IntranetTx: (ECS) outbound traffic over the internal network (KB/min).'."\n" + .'- IntranetRx: (ECS) inbound traffic over the internal network (KB/min).'."\n" + .'- VpcInternetTx: (ECS) outbound traffic over the Internet (KB/min).'."\n" + .'- VpcInternetRx: (ECS) inbound traffic over the Internet (KB/min).'."\n" + .'- SystemDiskReadBps: (ECS) system cloud disk read BPS (bytes/s).'."\n" + .'- SystemDiskWriteBps: (ECS) system cloud disk write BPS (bytes/s).'."\n" + .'- SystemDiskReadOps: (ECS) system cloud disk read IOPS (operations/s).'."\n" + .'- SystemDiskWriteOps: (ECS) system cloud disk write IOPS (operations/s).'."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + .'- GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + .'- GpuMemoryFreeUtilizationAgent: (Agent) idle GPU memory (%).'."\n" + .'- GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + .'- MemoryUtilization: (Agent) memory usage (%).'."\n" + .'- LoadAverage: (Agent) average system load.'."\n" + .'- TcpConnection: (Agent) total number of TCP connections.'."\n" + .'- TcpConnection: (Agent) number of established TCP connections.'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the internal NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the internal NIC (packets/s).'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the public NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the public NIC (packets/s).'."\n" + .'- EciPodCpuUtilization: CPU utilization (%).'."\n" + .'- EciPodMemoryUtilization: memory usage (%).'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (queries/s).'."\n" + ."\n" + .'For more information, see [System monitoring event-triggered nodes](~~74854~~).', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric in the multi-metric alert rule. This operator specifies the condition under which the alert is triggered. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + .'- The statistical value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data in the multi-metric alert rule, in seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Only ECS-type scaling groups support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. The scaling rule is triggered when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'example' => '40.0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'MetricType' => [ - 'type' => 'string', - ], - 'HybridMonitorNamespace' => [ - 'type' => 'string', - ], + 'ExpressionsLogicOperator' => ['description' => 'The logical operator between multi-metric alert conditions. Valid values:'."\n" + .'- `&&`: An alert is triggered only when all monitoring metrics meet the alert conditions. All expressions in the multi-metric alert rule must evaluate to `true` before an alert is triggered.'."\n" + .'- `||`: An alert is triggered when any one of the monitoring metrics meets the alert condition.', 'type' => 'string', 'example' => '&&', 'title' => ''], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage metric repositories, see [Manage metric repositories](~~217606~~).', 'type' => 'string', 'example' => 'aliyun-test', 'title' => ''], 'HybridMetrics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'HybridMetric' => [ + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information, see [Use formula-based custom target tracking rules](~~2852162~~).', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling activities.'."\n" + ."\n" + .'The expression must comply with the Reverse Polish Notation (RPN) specification and supports only the `+ - * /` operators.', 'type' => 'string', 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metrics in the Hybrid Cloud Monitoring metric repository.', 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The aggregation method for the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum of all data points within the specified interval.'."\n" + .'- Maximum: the maximum of all data points within the specified interval.', 'type' => 'string', 'example' => 'Average', 'title' => ''], 'Dimensions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Dimension' => [ + 'description' => 'The metric dimension. Specifies the resource to be monitored by the metric.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', 'type' => 'string', 'example' => 'testQueue', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PromQL' => ['description' => 'The PromQL query statement for Hybrid Cloud Monitoring.', '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' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": {\\n \\"ScalingRule\\": [\\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 \\"Alarm\\": [\\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 \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ]\\n },\\n \\"Period\\": 60\\n }\\n ]\\n },\\n \\"StepAdjustments\\": {\\n \\"StepAdjustment\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ]\\n },\\n \\"AlarmDimensions\\": {\\n \\"AlarmDimension\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2****\\"\\n }\\n ]\\n },\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScalingRulesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <ScalingRules>\\n <MetricName>CpuUtilization</MetricName>\\n <AdjustmentType>QuantityChangeInCapacity</AdjustmentType>\\n <InitialMaxSize>100</InitialMaxSize>\\n <EstimatedInstanceWarmup>300</EstimatedInstanceWarmup>\\n <ScaleOutEvaluationCount>3</ScaleOutEvaluationCount>\\n <PredictiveScalingMode>PredictAndScale</PredictiveScalingMode>\\n <MinAdjustmentMagnitude>1</MinAdjustmentMagnitude>\\n <ScalingRuleAri>ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****</ScalingRuleAri>\\n <PredictiveTaskBufferTime>30</PredictiveTaskBufferTime>\\n <MinSize>1</MinSize>\\n <ScalingGroupId>asg-bp1ffogfdauy0jw0****</ScalingGroupId>\\n <PredictiveValueBehavior>MaxOverridePredictiveValue</PredictiveValueBehavior>\\n <TargetValue>0.125</TargetValue>\\n <Cooldown>20</Cooldown>\\n <MaxSize>2</MaxSize>\\n <PredictiveValueBuffer>50</PredictiveValueBuffer>\\n <ScalingRuleType>SimpleScalingRule</ScalingRuleType>\\n <AdjustmentValue>1</AdjustmentValue>\\n <ScaleInEvaluationCount>15</ScaleInEvaluationCount>\\n <DisableScaleIn>true</DisableScaleIn>\\n <ScalingRuleName>scalingrule****</ScalingRuleName>\\n <ScalingRuleId>asr-bp1dvirgwkoowxk7****</ScalingRuleId>\\n <Alarms>\\n <AlarmTaskId>asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****</AlarmTaskId>\\n <ComparisonOperator>>=</ComparisonOperator>\\n <MetricName>CpuUtilization</MetricName>\\n <EvaluationCount>3</EvaluationCount>\\n <AlarmTaskName>alarmtask****</AlarmTaskName>\\n <MetricType>system</MetricType>\\n <Threshold>50</Threshold>\\n <Statistics>Average</Statistics>\\n <Dimensions>\\n <DimensionKey>scaling_group</DimensionKey>\\n <DimensionValue>asg-bp18p2yfxow2dloq****</DimensionValue>\\n </Dimensions>\\n </Alarms>\\n <StepAdjustments>\\n <MetricIntervalUpperBound>5</MetricIntervalUpperBound>\\n <ScalingAdjustment>1</ScalingAdjustment>\\n <MetricIntervalLowerBound>1</MetricIntervalLowerBound>\\n </StepAdjustments>\\n <AlarmDimensions>\\n <DimensionKey>rulePool</DimensionKey>\\n <DimensionValue>sgp-l1cbirz451yxu2****</DimensionValue>\\n </AlarmDimensions>\\n </ScalingRules>\\n</DescribeScalingRulesResponse>","errorExample":""}]', - 'title' => 'DescribeScalingRules', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can specify a scaling group ID to query all scaling rules in the scaling group. You can also specify the scaling rule ID, name, unique identifier, and type in the request parameters as filter conditions.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": {\\n \\"Alarm\\": [\\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\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ]\\n },\\n \\"AlarmActions\\": {\\n \\"AlarmAction\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ]\\n },\\n \\"Expressions\\": {\\n \\"Expression\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ]\\n },\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\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 }\\n}","type":"json"}]', + 'title' => 'Query event-triggered task information', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AttachInstances' => [ - 'summary' => '为伸缩组手动添加实例', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAlarms'], + ], ], + ], + 'DescribeAlertConfiguration' => [ + 'summary' => 'When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications through SMS or email. You must handle the related events after receiving the notifications. You can call the DescribeAlertConfiguration operation to query the scaling activity statuses for which SMS and email notifications are sent in a scaling group. This helps you stay informed about changes to scaling activities and respond quickly to improve scaling efficiency.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92649', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '208803', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], ], '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 the scaling group manages the lifecycle of instances that are manually added to the scaling group. Valid values:'."\n" - ."\n" - .'* true: The scaling group manages the lifecycle of instances that are manually added in a similar manner in which the scaling group manages the lifecycle of automatically created instances. When the instances are removed from the scaling group, the instances are automatically released. However, if you call the DetachInstances operation to remove the instances from the scaling group, the instances are not released.'."\n" - .'* false: The scaling group does not manage the lifecycle of instances that are manually added. After the instances are removed from the scaling group, the instances are not released.'."\n" - ."\n" - .'> This parameter is unavailable for subscription instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of instance N that you want to add. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to add is `i-28wt4****`.'."\n" - .'* The ID of the elastic container instance that you want to add is `eci-bp17gw49eu09yiwm****`.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of instance N that you want to add. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to add is `i-28wt4****`.'."\n" - .'* The ID of the elastic container instance that you want to add is `eci-bp17gw49eu09yiwm****`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => false, - 'example' => 'i-28wt4****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The weight of instance N as a backend server of the Server Load Balancer (SLB) instance that is associated with the scaling group to which you want to add instance N. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.', - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of instance N as a backend server of the Server Load Balancer (SLB) instance that is associated with the scaling group to which you want to add instance N. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - 'required' => false, - 'example' => '50', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'IgnoreInvalidInstance', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -11599,173 +6706,129 @@ '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', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScaleStatuses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScaleStatus' => [ + 'description' => 'The scaling activity statuses for which SMS, internal message, and email notifications are sent in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The scaling activity statuses for which SMS, internal message, and email notifications are sent in the scaling group. Valid values:'."\n" + ."\n" + .'- ScaleSuccessful: SMS and email notifications were sent when the scaling activity succeeded.'."\n" + .'- ScaleRejected: SMS and email notifications were sent when the scaling activity was rejected.'."\n" + .'- ScaleFailed: SMS and email notifications were sent when the scaling activity failed.', 'type' => 'string', 'example' => 'ScaleSuccessful', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'title' => 'DescribeAlertConfiguration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachInstancesResponse>\\n <ScalingActivityId>asa-bp1crxor24s28xf1****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</AttachInstancesResponse>","errorExample":""}]', - 'title' => 'AttachInstances', - 'description' => '## Description'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The scaling group is in the Active state.'."\n" - .'* No scaling activities in the scaling group are in progress.'."\n" - ."\n" - .'The ECS instances and the elastic container instances that you want to add to a scaling group must meet the following requirements:'."\n" - ."\n" - .'* The instances reside in the same region as the scaling group.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not added to other scaling groups.'."\n" - .'* The instances use the subscription or pay-as-you-go billing method, or are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for a scaling group, the instances that are in the classic network or those that are not in the same virtual private cloud (VPC) as the specified vSwitch cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for a scaling group, the instances that are in VPCs cannot be added to the scaling group.'."\n" - ."\n" - .'If no scaling activities in the specified scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the ScalingActivityId parameter in the response.'."\n" - ."\n" - .'If the sum of the number of instances that you want to add and the number of existing instances in the scaling group is greater than the MaxSize value, the call fails.'."\n" - ."\n" - .'Instances that are manually added by calling the AttachInstances operation are not associated with the active scaling configuration of the scaling group.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": {\\n \\"ScaleStatus\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n }\\n}","type":"json"}]', ], - 'DetachInstances' => [ - 'summary' => '从一个伸缩组移出一台或多台实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEciScalingConfigurations' => [ + 'summary' => 'Queries scaling configurations of the ECI type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92690', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92673', + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + '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' => 'DecreaseDesiredCapacity', + 'name' => 'PageNumber', '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', - ], + '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' => 'IgnoreInvalidInstance', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + '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' => 'DetachOption', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the instances from the default server groups and vServer groups of the Server Load Balancer (SLB) instance that is associated with the scaling group, and whether to remove the IP addresses of the instances from the whitelist that manages access to the ApsaraDB RDS instance that is associated with the scaling group.'."\n" - ."\n" - .'If you set this parameter to both, the instances are removed from the default sever groups and vServer groups of the associated SLB instance, and the IP addresses of the instances are removed from the whitelist that manages access to the associated ApsaraDB RDS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'both', - ], + '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' => 'InstanceId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of ECS instance N or elastic container instance N that you want to remove from the scaling group. Valid values of N: 1 to 20.'."\n" + 'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 IDs.'."\n" ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to remove is `i-bp109k5j3dum1ce6****`.'."\n" - .'* The ID of the elastic container instance that you want to remove is `eci-bp17gw49eu09yiwm****`.', + .'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 ID of ECS instance N or elastic container instance N that you want to remove from the scaling group. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to remove is `i-bp109k5j3dum1ce6****`.'."\n" - .'* The ID of the elastic container instance that you want to remove is `eci-bp17gw49eu09yiwm****`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'required' => true, - 'example' => 'i-bp109k5j3dum1ce6****', - 'maxItems' => 100, + 'items' => ['description' => 'The ID of the scaling configuration 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' => 'LifecycleHook', + 'name' => 'ScalingConfigurationName', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to trigger the lifecycle hook for the scaling group when you remove instances from the scaling group. Valid values:'."\n" + 'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 names.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'Invalid scaling configuration names are ignored in the query results, and no error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The name of the scaling configuration that you want to query.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'Invalid scaling configuration names are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon****', 'title' => ''], 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -11774,315 +6837,1003 @@ '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****', + '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' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', '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' => [ + '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' => 'scalingconfi****', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECI instance belongs. ECI instances within the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'ActiveDeadlineSeconds' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance for which the system automatically bids based on the current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'AutoCreateEip' => ['description' => 'Indicates whether automatic creation of an elastic IP address (EIP) and attaching it to the ECI instance is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + 'EphemeralStorage' => ['description' => 'The size of the ephemeral storage. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'EipBandwidth' => ['description' => 'The bandwidth of the EIP. Default value: 5 Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ImageSnapshotId' => ['description' => 'The image cache ID.', 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], + 'Memory' => ['description' => 'The memory size.'."\n" + ."\n" + .'If you specify both CPU and Memory, the instance type range is defined. 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 zones, and then creates instances of the lowest-priced instance type.'."\n" + ."\n" + .'> This configuration takes effect only when cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'number', 'format' => 'float', 'example' => '16', 'title' => ''], + 'RestartPolicy' => ['description' => 'The restart policy for the container group. Valid values:'."\n" + ."\n" + .'- Never: never restarts.'."\n" + .'- Always: always restarts.'."\n" + .'- OnFailure: restarts upon failure.', 'type' => 'string', 'example' => 'Never', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the spot instance.'."\n" + ."\n" + .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + 'IngressBandwidth' => ['description' => 'The inbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024000', 'title' => ''], + 'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 disables hyper-threading. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'TerminationGracePeriodSeconds' => ['description' => 'The buffer time for the program to handle operations before shutdown.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the ECI instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DnsPolicy' => ['description' => 'The DNS policy.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'HostName' => ['description' => 'The hostname.', 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'EgressBandwidth' => ['description' => 'The outbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024000', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the ECI instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the instance RAM role. ECI and ECS share instance RAM roles. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).', 'type' => 'string', 'example' => 'ram:PassRole', 'title' => ''], + 'Cpu' => ['description' => 'The instance-level vCPU size.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'AutoMatchImageCache' => ['description' => 'Indicates whether image caches are automatically matched. Valid values:'."\n" + .'- true: automatically matched.'."\n" + .'- false: not automatically matched.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-8db03793gfrz****', 'title' => ''], + 'ContainerGroupName' => ['description' => 'The name of the ECI instance, which is the container group name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''], + 'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Containers' => [ + 'description' => 'The list of containers in the ECI instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a container in the ECI instance.', + 'type' => 'object', + 'properties' => [ + 'ReadinessProbeHttpGetPath' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'string', 'example' => '/usr/local', 'title' => ''], + 'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to transition from a failure status to a success status. Default value: 1. The current value must be 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LivenessProbePeriodSeconds' => ['description' => 'The interval at which health checks are performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'LivenessProbeTcpSocketPort' => ['description' => 'The port number for TCP Socket-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type for HTTP GET-based health checks. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'example' => '/usr/local/nginx', 'title' => ''], + 'Tty' => ['description' => 'Indicates whether interaction is enabled. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'LivenessProbeHttpGetPort' => ['description' => 'The port for HTTP GET-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ReadinessProbeInitialDelaySeconds' => ['description' => 'The time to wait before the first health check starts, calculated from the time the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container runtime allocates a buffer for standard input. If this parameter is not set, reads from standard input in the container result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + 'LivenessProbeHttpGetPath' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'string', 'example' => '/usr/nginx/', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'mysql', 'title' => ''], + 'ReadinessProbeTcpSocketPort' => ['description' => 'The port number for TCP Socket-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '8888', 'title' => ''], + 'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type for HTTP GET-based health checks. Valid values:'."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbeHttpGetPort' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '/usr/nginx/', 'title' => ''], + 'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to transition from a failure status to a success status. Default value: 1. The current value must be 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period for health checks. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SecurityContextRunAsUser' => ['description' => 'The UID used to run the container process entry point.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'LivenessProbeInitialDelaySeconds' => ['description' => 'The time to wait before the first health check starts, calculated from the time the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which health checks are performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'When standard input is set to true, the standard input stream remains open across multiple attach sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input is opened when the container starts and remains empty until the first client attaches to it. It then stays open and accepts data until the client disconnects, at which point standard input enters the shutdown enabling status and remains shutdown until the container restarts.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Cpu' => ['description' => 'The vCPU size of the container.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period for health checks. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures required to transition from a success status to a failure status.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures required to transition from a success status to a failure status.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'Ports' => [ + 'description' => 'The list of exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed port and protocol.', + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'example' => '8888', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + .'- TCP.'."\n" + .'- UDP.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'VolumeMounts' => [ + 'description' => 'The list of volume mounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount.', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only. Valid values:'."\n" + .'- true: read-only.'."\n" + .'- false: not read-only.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The subpath of the volume.', 'type' => 'string', 'example' => 'data2/', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'example' => 'default-volume1', 'title' => ''], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory where the container mounts the volume.'."\n" + ."\n" + .'> The content in the mount directory of the container is overwritten by the volume content. Use this parameter with caution.', 'type' => 'string', 'example' => '/pod/data', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The list of environment variables.', + '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/bin/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Commands' => [ + 'description' => 'The list of 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 command. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LivenessProbeExecCommands' => [ + 'description' => 'The list of commands executed in the container for command-based health checks.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container for command-based health checks.', 'type' => 'string', 'example' => 'cat/tmp/healthy', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The list of arguments for the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The argument for the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ReadinessProbeExecCommands' => [ + 'description' => 'The list of commands executed in the container for command-based health checks.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container for command-based health checks.', 'type' => 'string', 'example' => 'cat/tmp/healthy', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" + .'>NET_RAW is not supported by default. Submit a ticket to apply for this permission.', + 'type' => 'array', + 'items' => ['description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" + .'>NET_RAW is not supported by default. Submit a ticket to apply for this permission.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands executed in the container when the PostStart callback function is configured with the command-line method.', + 'type' => 'array', + 'items' => ['description' => 'The commands executed in the container when the PostStart callback function is configured with the command-line method.', 'type' => 'string', 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket-based detection when the PostStart callback function is configured with the TCP Socket method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket-based detection when the PostStart callback function is configured with the TCP Socket method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands executed in the container when the PreStop callback function is configured with the command-line method.', + 'type' => 'array', + 'items' => ['description' => 'The commands executed in the container when the PreStop callback function is configured with the command-line method.', 'type' => 'string', 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket-based detection when the PreStop callback function is configured with the TCP Socket method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket-based detection when the PreStop callback function is configured with the TCP Socket method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainers' => [ + 'description' => 'The list of init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of init containers.', + 'type' => 'object', + 'properties' => [ + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Currently, only true is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'example' => '/usr/local', 'title' => ''], + 'Cpu' => ['description' => 'The CPU size.', 'type' => 'number', 'format' => 'float', 'example' => '0.5', 'title' => ''], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SecurityContextRunAsUser' => ['description' => 'The user ID used to run the container.', 'type' => 'string', 'example' => '587', 'title' => ''], + 'Memory' => ['description' => 'The memory size.', 'type' => 'number', 'format' => 'float', 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'example' => 'test-init', 'title' => ''], + 'InitContainerEnvironmentVars' => [ + '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' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mounts.', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'example' => '/usr/sub/', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'example' => 'test-empty', 'title' => ''], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory. The content in the mount directory of the container is overwritten by the volume content. Use this parameter with caution.', 'type' => 'string', 'example' => '/usr/share/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.', + 'type' => 'array', + 'items' => ['description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InitContainerCommands' => [ + 'description' => 'The container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InitContainerArgs' => [ + 'description' => 'The container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Volumes' => [ + 'description' => 'The volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + .'- EmptyDirVolume.'."\n" + .'- NFSVolume.'."\n" + .'- ConfigFileVolume.'."\n" + .'- FlexVolume.', 'type' => 'string', 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolumeDiskId' => ['description' => 'The size of the DiskVolume. Unit: GiB.', 'type' => 'string', 'example' => '15', 'title' => ''], + 'DiskVolumeFsType' => ['description' => 'The file system type of the DiskVolume.', 'type' => 'string', 'example' => 'xfs', 'title' => ''], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the EmptyDirVolume. By default, this parameter is empty, which indicates that the node file system is used. A value of memory indicates that memory is used.', 'type' => 'string', 'example' => 'memory', 'title' => ''], + 'NFSVolumePath' => ['description' => 'The path of the NFS volume.', 'type' => 'string', 'example' => '/share', 'title' => ''], + 'DiskVolumeDiskSize' => ['description' => 'The size of the DiskVolume. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'FlexVolumeFsType' => ['description' => 'The file system type to mount. The default value depends on the FlexVolume script.', 'type' => 'string', 'example' => 'ext4', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'example' => '0644', 'title' => ''], + 'FlexVolumeDriver' => ['description' => 'The driver name for the FlexVolume.', 'type' => 'string', 'example' => 'flexvolume', 'title' => ''], + 'FlexVolumeOptions' => ['description' => 'The list of FlexVolume object options. The options are in key-value format and passed as JSON.'."\n" + ."\n" + .'For example, when you mount a cloud disk by using FlexVolume, the Options format is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.', 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'NFSVolumeServer' => ['description' => 'The NFS server address.', 'type' => 'string', 'example' => '3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'Name' => ['description' => 'The volume name.', 'type' => 'string', 'example' => 'default-volume1', 'title' => ''], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative file path.', 'type' => 'string', 'example' => '/usr/bin/', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'example' => 'bGl1bWk=', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The size of the EmptyDir volume.', 'type' => 'string', 'example' => '256 Mi', 'title' => ''], + 'HostPathVolumeType' => ['description' => 'The type of the HostPath volume.', 'type' => 'string', 'example' => 'Directory', 'title' => ''], + 'HostPathVolumePath' => ['description' => 'The directory path of the HostPath volume on the host.', 'type' => 'string', 'example' => '/pod/data', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ImageRegistryCredentials' => [ + 'description' => 'The image repository information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository information.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'example' => 'yourusername', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsConfigOptions' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The variable name of the object.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The variable value of the object.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HostAliases' => [ + 'description' => 'The custom hostname mappings for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname mappings for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The added IP address.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], + 'Hostnames' => [ + 'description' => 'The added hostnames.', + 'type' => 'array', + 'items' => ['description' => 'The added hostnames.', 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the instance runs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the instance runs.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'example' => 'kernel.msgmax', 'title' => ''], + 'Value' => ['description' => 'The variable value of the security context in which the instance runs.', 'type' => 'string', 'example' => '65536', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AcrRegistryInfos' => [ + 'description' => 'The information about Container Registry Enterprise Edition instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about Container Registry Enterprise Edition instances.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'acr-test', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are returned. You can specify individual domain names. Separate multiple domain names with commas (,).', + 'type' => 'array', + 'items' => ['description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are returned. You can specify individual domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsConfigNameServers' => [ + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'example' => '172.10.*.**', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DnsConfigSearches' => [ + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'example' => 'svc.local.kubenetes', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'NtpServers' => [ + 'description' => 'The NTP servers.', + 'type' => 'array', + 'items' => ['description' => 'The NTP servers.', 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecycleState' => ['description' => 'The status 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 scaling configurations in the Active state to automatically create ECI instances.'."\n" + .'- Inacitve: the scaling configuration is in the Inactive state. Scaling configurations in the Inactive state still exist in the scaling group, but the scaling group does not use such scaling configurations to automatically create ECI instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'CostOptimization' => ['description' => 'Indicates whether the cost optimization feature is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The instance family level, which is used to filter instance types that meet the requirements. This parameter takes effect only 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 do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance 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 instance types. These instance types use CPU credits to guarantee computing performance. They are suitable for scenarios with low CPU utilization and occasional bursts of CPU usage. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify multiple instance types (up to 5).', + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify multiple instance types (up to 5). For more information, see [Create an instance by specifying an ECS instance type](~~114664~~).', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DataCacheBucket' => ['description' => 'The data cache bucket.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'DataCachePL' => ['description' => 'The performance level of the cloud disk used for data caching. We recommend that you use enhanced SSDs (ESSDs). Valid values for the performance level of an ESSD:'."\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 ESSDs, see [ESSDs](~~122389~~).', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk used for data caching. Valid values: 0 to min{50000, 1000 × capacity - baseline performance}, where baseline performance = min{1800 + 50 × capacity, 50000}.'."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '40000', 'title' => ''], + 'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the burst (performance burst) feature is enabled for the ESSD AutoPL disk used for data caching. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'GpuDriverVersion' => ['description' => 'The GPU driver version.', 'type' => 'string', 'example' => 'tesla=470.82.01', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachInstancesResponse>\\n <ScalingActivityId>asa-bp1gbswjhjrw8tko****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DetachInstancesResponse>","errorExample":""}]', - 'title' => 'DetachInstances', - 'description' => '## Description'."\n" - ."\n" - .'After ECS instances or elastic container instances are removed from a scaling group, you can call the [AttachInstances](~~25954~~) operation to add the ECS instances or elastic container instances that are removed from the scaling group to other scaling groups.'."\n" - ."\n" - .'After you remove an ECS instance or elastic container instance by calling the DetachInstances operation, the instance is not stopped or released.'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The specified scaling group is enabled.'."\n" - .'* No scaling activities in the specified scaling group are in progress.'."\n" - ."\n" - .'If no scaling activities in the specified scaling group are in progress, the operation can immediately trigger scaling activities without the need to wait for the cooldown time to expire.'."\n" - ."\n" - .'A successful call indicates only that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity based on the return value of the ScalingActivityId parameter.'."\n" - ."\n" - .'The number of ECS instances or elastic container instances in a scaling group after you remove a specific number of instances from the scaling group must be equal to or greater than the value of the MinSize parameter. Otherwise, an error is reported when you call the DetachInstances operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ExecuteScalingRule' => [ - 'summary' => '执行一条伸缩规则', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\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 \\"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 \\"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 \\"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 }\\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 \\"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 }\\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\\": \\"3f9cd4****-na***.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\\": \\"256 Mi\\",\\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\\"\\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"}]', + 'title' => 'Query scaling configuration information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEciScalingConfigurations'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DescribeElasticStrength' => [ + 'summary' => 'The validity of a scaling group configuration largely determines the success rate of scale-out operations. Auto Scaling uses elastic strength to describe the validity of scaling configurations, quantifying configuration quality and helping you optimize scaling configurations accordingly.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92698', - 'abilityTreeNodes' => [ - 'FEATUREessKCZYL8', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '232309', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleAri', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', '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' => 'The unique identifier of the scaling rule.'."\n" - ."\n" - .'> You can call the ExecuteScalingRule operation to execute only simple scaling rules and step scaling rules. To execute a step scaling rule, you must specify both BreachThreshold and MetricValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + 'description' => 'The collection of instance types for ECS instances. If specified, this parameter overrides the instance types in the scaling configuration.', + 'type' => 'array', + 'items' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'PriorityStrategy', + 'in' => 'query', + 'schema' => ['description' => '> This parameter is deprecated. Use SpotStrategy instead.'."\n" + ."\n" + .'The preemption policy for pay-as-you-go instances. If specified, this parameter overrides the preemption policy configured for the scaling group. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the current market rate.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', '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 it is unique among different requests. 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', + 'description' => 'The system cloud disk types. If specified, this parameter overrides the system cloud disk types in the scaling configuration. 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 do not specify a scaling group ID, you must specify this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The system cloud disk types. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BreachThreshold', + 'name' => 'ScalingGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18~9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', + 'description' => 'The IDs of scaling groups for batch queries.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => '1.0', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MetricValue', + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The preemption policy for instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the current market rate.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The metric value specified when the step scaling rule is executed. Valid values: -9.999999E18~9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', + 'description' => 'The IDs of multiple vSwitches.'."\n" + .'> If you do not specify a scaling group ID, you must specify this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of multiple vSwitches.'."\n" + .'> If you do not specify a scaling group ID, you must specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], 'required' => false, - 'example' => '1.0', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ImageId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the image file. The image resource used for automatic creation of instances.'."\n" + .'> If you do not specify a scaling group ID, 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. Image names are unique within a region. If ImageId is specified, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.'."\n" + .'> If you do not specify a scaling group ID, 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. If you specify this parameter, the latest available image in the specified image family is used to create instances. If ImageId is already specified, you cannot specify this parameter.'."\n" + .'> If you do not specify a scaling group ID, 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' => [ - 'type' => 'string', + 'description' => 'The elastic strength when multiple data cloud disk types are specified. If a data cloud disk type does not match, the specific mismatched disk type is returned in the query result.'."\n" + .'> If you do not specify a scaling group ID, you can specify this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The data cloud disk type. 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.', '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. If the instance type does not meet the IPv6 address count requirement, the elastic strength is degraded.'."\n" + .'> If you do not specify a scaling group ID, you can specify this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp13o672yeautiil****', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'TotalStrength' => ['description' => 'The elastic strength of the scaling group. Each combination of instance type and zone is scored from 0 to 1 based on supply conditions, where 0 indicates low elastic strength and 1 indicates high elastic strength. The sum of scores for all instance type and zone combinations represents the elastic strength of the scaling group.'."\n" + .'><warning>This parameter is deprecated.'."\n" + .'></warning>.', '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" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'The elastic strength when querying 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 reason (error code) when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The reason (error description) when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'Indicates whether the resource pool is available. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + .'- Unavailable: unavailable. Constraint violations, undeployed instance types, or out-of-stock instance types can cause the instance type to be unavailable.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health information.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The inventory health score.'."\n" + ."\n" + .'- 5 to 6: indicates high supply certainty.'."\n" + .'- 1 to 4: indicates uncertain supply. Consider reservations as needed.'."\n" + .'- -3 to 0: indicates a supply health warning. Consider switching to a different instance type.'."\n" + ."\n" + .'Formula: `HealthScore` (inventory health score) = `AdequacyScore` (adequacy) + `SupplyScore` (replenishment capability) - `HotScore` (demand intensity).', '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 replenishment capability score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HotScore' => ['description' => 'The demand intensity score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrength' => ['description' => 'The elastic strength of the current resource pool, which takes into account both the inventory health and current inventory status of the resource pool. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Medium', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'ElasticStrengthModels' => [ + 'description' => 'The elastic strength when querying scaling groups in batches.', + '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" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'TotalStrength' => ['description' => 'The elastic strength of the current scaling group. Each combination of instance type and zone is scored from 0 to 1 based on supply conditions, where 0 indicates low elastic strength and 1 indicates high elastic strength. The sum of scores for all instance type and zone combinations represents the elastic strength of the scaling group.'."\n" + .'><warning>This parameter is deprecated.'."\n" + .'></warning>.', 'type' => 'number', 'format' => 'double', 'example' => '5', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'The elastic strength information for each resource pool.', + '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.'."\n" + .'><warning>This parameter is deprecated.'."\n" + .'></warning>.', '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-2ze6e8p4aid08lymlsguv', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The reason (error code) when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The reason (error description) when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'Indicates whether the resource pool is available. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + .'- Unavailable: unavailable. Constraint violations, undeployed instance types, or out-of-stock instance types can cause the instance type to be unavailable.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health information.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The inventory health score.'."\n" + ."\n" + .'- 5 to 6: indicates high supply certainty.'."\n" + .'- 1 to 4: indicates uncertain supply. Consider reservations as needed.'."\n" + .'- -3 to 0: indicates a supply health warning. Consider switching to a different instance type.'."\n" + ."\n" + .'Formula: `HealthScore` (inventory health score) = `AdequacyScore` (adequacy) + `SupplyScore` (replenishment capability) - `HotScore` (demand intensity).', '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 replenishment capability score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'HotScore' => ['description' => 'The demand intensity score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrength' => ['description' => 'The elastic strength of the current resource pool, which takes into account both the inventory health and current inventory status of the resource pool. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ExecuteScalingRuleResponse>\\n <ScalingActivityId>asa-bp13o672yeautiil****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ExecuteScalingRuleResponse>","errorExample":""}]', - 'title' => 'ExecuteScalingRule', - 'description' => '## Description'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The scaling group is in the Active state.'."\n" - .'* The scaling group does not have scaling activities in progress.'."\n" - ."\n" - .'If no scaling activity is being executed in the scaling group, this operation can trigger scaling activities immediately without waiting for the cooldown time to expire.'."\n" - ."\n" - .'If the call is successful, Auto Scaling has accepted the request. However, this does not mean that the scaling activity will succeed. You can determine the status of a scaling activity based on the return value of the ScalingActivityId parameter.'."\n" - ."\n" - .'If the number of ECS instances to be added will leave the number of instances in the scaling group greater than MaxSize, Auto Scaling adds the proper number of ECS instances to maintain the number of ECS instances in the scaling group equal to the MaxSize value.'."\n" - ."\n" - .'If the number of ECS instances to be removed will leave the number of instances in the scaling group less than MinSize, Auto Scaling removes the proper number of ECS instances to maintain the number of ECS instances in the scaling group equal to the MinSize value.'."\n" - ."\n" - .'A limited number of ECS instances can be adjusted at a time. For more information, see the description about the AdjustmentValue parameter in [CreateScalingRule](~~25948~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'RemoveInstances' => [ - 'summary' => '从一个伸缩组删除一台或多台实例', - 'methods' => [ - 'post', - 'get', + '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\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\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\\": 5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4aid08lymlsguv\\"\\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' => 'Query elastic strength of a scaling group', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeElasticStrength'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeInstanceRefreshes' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', + 'operationType' => 'get', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92714', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', - ], + 'abilityTreeCode' => '232225', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RemovePolicy', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that is performed when ECS instances are removed. Valid values:'."\n" - ."\n" - .'* recycle: The ECS instances enter the economical mode.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This setting takes effect only if you set ScalingPolicy to recycle.'."\n" - ."\n" - .'* release: The ECS instances are released.'."\n" - ."\n" - .'The ScalingPolicy parameter that you specify when you call the CreateScalingGroup operation specifies the reclaim mode of the scaling group. The RemovePolicy parameter that you specify when you call the RemoveInstances operation specifies the action to be performed on ECS instances when the ECS instances are removed. Examples:'."\n" - ."\n" - .'* If you set ScalingPolicy and RemovePolicy to recycle, the ECS instances enter the economical mode when they are removed.'."\n" - .'* If you set ScalingPolicy to recycle and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy to release and RemovePolicy to recycle, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - ."\n" - .'Default value: release.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'release', - ], + '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' => 'DecreaseDesiredCapacity', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to adjust the expected number of ECS instances in the scaling group. Valid values:'."\n" - ."\n" - .'* true: After ECS instances are removed from a scaling group, the expected number of ECS instances in the scaling group decreases.'."\n" - .'* false: After ECS instances are removed from a scaling group, the expected number of ECS instances in the scaling group remains unchanged.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The maximum number of entries per page in a paging query. Valid values: 1 to 50. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of ECS instance N that you want to remove. Valid values of N: 1 to 20.', + 'description' => 'The ID of the instance refresh task that you want to query.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N that you want to remove. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 1000, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', + 'items' => ['description' => 'The ID of the instance refresh task that you want to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'ir-adfa12312*****', 'title' => ''], 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'LifecycleHookContext', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], - 'IgnoredLifecycleHookIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecycleHookResult' => [ - 'type' => 'string', - ], - ], + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -12091,275 +7842,449 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp175o6f6ego3r2j****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'IgnoredInstances' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NextToken' => ['description' => 'The pagination token for the next query. If this parameter 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' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'IgnoredInstance' => [ + 'InstanceRefreshTask' => [ + 'description' => 'The list of instance refresh tasks.', 'type' => 'array', 'items' => [ + 'description' => 'The instance refresh task.', 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'Code' => [ - 'type' => 'string', + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-1adfa123****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp16pbfcr8j9*****', '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" + ."\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 canceled.'."\n" + .'- Cancelled: The instance refresh task is canceled.'."\n" + .'- RollbackInProgress: The instance refresh task is being rolled back.'."\n" + .'- RollbackSuccessful: The instance refresh task is rolled back.'."\n" + .'- RollbackFailed: The instance refresh task rollback 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' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateOverride' => [ + '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 specified instance type, which overrides the instance type in the launch template.', 'type' => 'string', 'example' => 'ecs.g7.2xlarge', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Container' => [ + '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' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Command' => [ + 'description' => 'The container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnvironmentVar' => [ + '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' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Arg' => [ + 'description' => 'The arguments for the container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup command.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'Message' => [ - 'type' => 'string', + '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' => 'Specifies whether to skip instances that already 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 during the refresh.'."\n" + .'- false: All instances in the scaling group are refreshed when the instance refresh task starts.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CheckpointPauseTime' => ['description' => 'The pause duration when the refresh task reaches a checkpoint. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'Checkpoints' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Checkpoint' => [ + 'description' => 'The refresh task checkpoint. When the proportion of new instances reaches the specified value during the instance refresh, the task is automatically paused for CheckpointPauseTime minutes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The refresh task checkpoint. When the proportion of new instances reaches the specified value during the instance refresh, the task is automatically paused for CheckpointPauseTime minutes.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances relative to the total instances in the scaling group. The task is automatically paused when this percentage is reached.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'Strategy' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'title' => 'DescribeInstanceRefreshes', + 'summary' => 'Queries instance refresh tasks for a scaling group, including basic information and progress of each task.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": {\\n \\"IgnoredInstance\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RemoveInstancesResponse>\\n <ScalingActivityId>asa-bp175o6f6ego3r2j****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</RemoveInstancesResponse>","errorExample":""}]', - 'title' => 'RemoveInstances', - 'description' => '## Description'."\n" - ."\n" - .'* Before you call this operation, make sure that the following requirements are met:'."\n" - ."\n" - .' * The scaling group is in the Active state.'."\n" - .' * No scaling activity is in progress within the scaling group.'."\n" - ."\n" - .'If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.'."\n" - ."\n" - .'* If an ECS instance is automatically created by Auto Scaling, or if an ECS instance is manually added to a scaling group and managed by the scaling group, the ECS instance enters the economical mode or is released when the instance is removed from the scaling group.'."\n" - .'* If an ECS instance is manually added to a scaling group and is not managed by the scaling group, the ECS instance is not stopped or released when the instance is removed from the scaling group.'."\n" - .'* If the difference between the number of existing ECS instances specified by TotalCapacity and the number of ECS instances that you specified to remove is less than the value of MinSize, the call fails.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity based on the value of the ScalingActivityId parameter in the response.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": {\\n \\"InstanceRefreshTask\\": [\\n {\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\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 \\"LaunchTemplateOverride\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g7.2xlarge\\"\\n }\\n ]\\n },\\n \\"Containers\\": {\\n \\"Container\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": {\\n \\"Command\\": [\\n \\"sleep\\"\\n ]\\n },\\n \\"EnvironmentVars\\": {\\n \\"EnvironmentVar\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n },\\n \\"Args\\": {\\n \\"Arg\\": [\\n \\"100\\"\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": {\\n \\"Checkpoint\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ]\\n },\\n \\"Strategy\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'CreateScheduledTask' => [ - 'summary' => '创建一个定时任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLifecycleActions' => [ + 'summary' => 'Queries lifecycle tokens by scaling activity ID and status.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92660', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92674', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => true, 'example' => 'asa-bp17mug9t0pegagw****', 'title' => ''], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'LifecycleActionStatus', '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" - .'By default, the value of the `ScheduledTaskId` parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], + 'schema' => ['description' => 'The status of the lifecycle action. Valid values:'."\n" + ."\n" + .'- Pending: The ECS instance is still in the wait state.'."\n" + .'- Timeout: The timeout period of the lifecycle hook has been reached, and the wait state of the ECS instance is automatically ended.'."\n" + .'- Completed: You manually ended the wait state of the ECS instance ahead of schedule.', 'type' => 'string', 'required' => false, 'example' => 'Pending', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'NextToken', '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.', - ], + 'schema' => ['description' => 'The pagination token that is used to specify the position from which to start the query.'."\n" + ."\n" + .'For example, if you queried 10 lifecycle actions in the previous request, you can set this parameter to the value of NextToken returned in the previous response to query lifecycle actions starting from the 11th one. If you do not specify this parameter, the query starts from the beginning.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAcSz4VTb1Nq****', 'title' => ''], ], [ - 'name' => 'ScheduledAction', + 'name' => 'MaxResults', '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. If you specify the `ScheduledAction` parameter, you must select an existing scaling rule for the scheduled task.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', - ], + 'schema' => ['description' => 'The maximum number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'RecurrenceEndTime', + 'name' => 'RegionId', '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], - [ - 'name' => 'LaunchTime', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The point in time at which the scheduled task is triggered. 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 90 days from the point in time at which the scheduled task is created.'."\n" - ."\n" - .'* If you specify the `RecurrenceType` parameter, the scheduled task is repeatedly executed at the point in time 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-17T16:52Z', - 'docRequired' => true, + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The pagination token returned in this response.', 'type' => 'string', 'example' => 'AAAAAcSz4VTb1Nq****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of lifecycle actions returned in this query.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'LifecycleActions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LifecycleAction' => [ + 'description' => 'The list of lifecycle actions that correspond to lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle action that corresponds to a lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp18uoft0deax0f7****', 'title' => ''], + 'LifecycleActionToken' => ['description' => 'The identifier of the lifecycle action.', 'type' => 'string', 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444****', 'title' => ''], + 'LifecycleActionStatus' => ['description' => 'The status of the lifecycle action.', 'type' => 'string', 'example' => 'Pending', 'title' => ''], + 'LifecycleActionResult' => ['description' => 'The next action to take after the lifecycle action triggered by the lifecycle hook is complete. Valid values:'."\n" + ."\n" + .'- CONTINUE: Auto Scaling continues to respond to a scale-out activity and adds the ECS instance to the scaling group, or continues to respond to a scale-down activity and removes the ECS instance from the scaling group.'."\n" + .'- ABANDON: Auto Scaling terminates the scale-out activity and releases the created ECS instance, or continues to respond to a scale-down activity and removes the ECS instance from the scaling group.', 'type' => 'string', 'example' => 'CONTINUE', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The list of IDs of ECS instances that are suspended by the lifecycle hook.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance that is suspended by the lifecycle hook.', 'type' => 'string', 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RecurrenceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeatedly executed. 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 a week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of a 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', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": {\\n \\"LifecycleAction\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query lifecycle tokens', + 'description' => '## Operation description'."\n" + ."\n" + .'If a scaling activity that matches the type applicable to a lifecycle hook occurs in a scaling group, each lifecycle hook triggers a lifecycle action. A lifecycle action can be in one of the following states:'."\n" + ."\n" + .'- Pending: The ECS instance is still in the wait state.'."\n" + .'- Timeout: The timeout period of the lifecycle hook has elapsed, and the wait state of the ECS instance is automatically ended.'."\n" + .'- Completed: You manually ended the wait state of the ECS instance ahead of schedule.'."\n" + ."\n" + .'If you did not configure a subsequent action when you created the lifecycle hook, such as triggering a specific OOS template after the wait state ends, you can call this operation to obtain the identifier of the lifecycle action that corresponds to the current scaling activity. This way, you can customize subsequent actions.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParameter|The specified value of parameter "ScalingActivityId" is not valid.|The specified ScalingActivityId parameter is invalid.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "MaxResults" is not valid.|The specified MaxResults parameter is invalid.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "LifecycleActionStatus" is not valid.|The specified LifecycleActionStatus parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleActions'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeLifecycleHooks' => [ + 'summary' => 'Queries lifecycle hooks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values. 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. 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 the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92675', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], + ], + 'parameters' => [ [ - 'name' => 'TaskEnabled', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task.'."\n" - ."\n" - .'* true: enables the scheduled task.'."\n" - .'* false: disables the scheduled task.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', - 'default' => '600', - ], + 'schema' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], [ - 'name' => 'MinValue', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The page number of the instance status list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MaxValue', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'LifecycleHookId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expected number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n" - ."\n" - .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IDs of the lifecycle hooks.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp1at9ufhmcf9cmy****', 'title' => ''], 'required' => false, - 'example' => '10', + 'example' => 'ash-bp19d1032y9kij96****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group whose number of instances is changed when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, the scaling method of the scheduled task is to specify the number of instances in the scaling group. In this case, 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****', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], ], 'responses' => [ @@ -12367,363 +8292,797 @@ '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****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of lifecycle hooks.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LifecycleHooks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LifecycleHook' => [ + 'description' => 'The list of lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle hook information.', + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The action to take after the instance leaves the wait state.', 'type' => 'string', 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp19d1032y9kij96****', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'example' => 'lifecyclehook****', 'title' => ''], + 'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies.', 'type' => 'string', 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'The fixed string information that is associated with the wait state of the scaling activity.', 'type' => 'string', 'example' => 'Test Lifecycle Hook.', 'title' => ''], + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient of the lifecycle hook. The parameter value is in one of the following formats:'."\n" + .'- No notification settings: `acs:ess:{region-id}:{account-id}:null/null`.'."\n" + .'- MNS queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template: `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge: `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the parameter formats have the following meanings:'."\n" + .'- region-id: the ID of the region where the scaling group resides.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'example' => 'acs:ess:cn-beijing:161456884340****:null/null', 'title' => ''], + 'HeartbeatTimeout' => ['description' => 'The wait period that the lifecycle hook sets for the scaling activity. After the wait period times out, the next action is taken.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'LifecycleHookStatus' => ['description' => 'The status of the lifecycle hook. Valid values:'."\n" + .'- Active: enabled.'."\n" + .'- InActive: disabled.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateScheduledTaskResponse>\\n <ScheduledTaskId>edRtShc57WGXdt8TlPbr****</ScheduledTaskId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CreateScheduledTaskResponse>","errorExample":""}]', - 'title' => 'CreateScheduledTask', - 'description' => '## Description'."\n" - ."\n" - .'* If a scheduled task fails to execute a scaling rule due to an ongoing scaling activity in a scaling group or because the scaling group is disabled, the scheduled task is automatically retried during the period that is specified by the `LaunchExpirationTime` parameter. If the scheduled task still fails after the specified period ends, the task is automatically skipped.'."\n" - ."\n" - .'* If multiple tasks are scheduled at similar points in time to execute scaling rules in the same scaling group, the earliest task triggers the first scaling activity. Other tasks execute scaling rules within their launch expiration time. Only one scaling activity can be triggered in a scaling group at a time. If the previous scaling activity is complete and another scheduled task attempts to trigger a scaling activity, Auto Scaling executes the scaling rule that is specified in the scheduled task and then triggers a scaling activity.'."\n" - ."\n" - .'* A scheduled task supports the following scaling methods:'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": {\\n \\"LifecycleHook\\": [\\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 }\\n}","type":"json"}]', + 'title' => 'DescribeLifecycleHooks', + 'description' => '## Operation description'."\n" ."\n" - .' * If you specify the `ScheduledAction` parameter, the scaling method of the scheduled task is to specify an existing scaling rule that you want to execute when the scheduled task is triggered.'."\n" + .'You can query lifecycle hooks by using one of the following methods:'."\n" ."\n" - .' * If you specify the `ScalingGroupId` parameter, the scaling method of the scheduled task is to specify the minimum number, maximum number, or expected number of instances in the scaling group for which you create the scheduled task.'."\n" + .'- Specify a list of lifecycle hook IDs (LifecycleHookId.N). In this case, the scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName) parameters are ignored.'."\n" ."\n" - .' **'."\n" + .'- Specify a scaling group ID (ScalingGroupId).'."\n" ."\n" - .' **Note** You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", + .'- Specify both a scaling group ID (ScalingGroupId) and a lifecycle hook name (LifecycleHookName).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteScheduledTask' => [ - 'summary' => '删除一个定时任务', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleHooks'], + ], ], + ], + 'DescribeLimitation' => [ + 'summary' => 'Queries resource quota limits.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92669', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92676', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'MaxNumberOfScheduledTasks' => ['description' => 'The maximum number of scheduled tasks that can be created by an account in a region.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfLoadBalancers' => ['description' => 'The maximum number of Classic Load Balancer (CLB, formerly SLB) instances that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfMaxSize' => ['description' => 'The maximum number of instances that can be set for a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfAlbServerGroup' => ['description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfNlbServerGroup' => ['description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', '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" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfScalingConfigurations' => ['description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfMinSize' => ['description' => 'The minimum number of instances that can be set for a scaling group. The quota value of MaxNumberOfMinSize is the same as that of MaxNumberOfMaxSize.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfLifecycleHooks' => ['description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxNumberOfScalingInstances' => ['description' => 'The maximum number of ECS instances or elastic container instances that can be automatically scaled in or out at a time in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'MaxNumberOfScalingGroups' => ['description' => 'The maximum number of scaling groups that can be created by an account in a region.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', 'title' => ''], + 'MaxNumberOfNotificationConfigurations' => ['description' => 'The maximum number of event notifications that can be created in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'MaxNumberOfVServerGroups' => ['description' => 'The maximum number of virtual server groups that can be specified in a scaling group when the scaling group is associated with Classic Load Balancer (CLB, formerly SLB) instances.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'MaxNumberOfScalingRules' => ['description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query resource quota limits', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLimitation'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], + '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"}]', + ], + 'DescribeNotificationConfigurations' => [ + 'summary' => 'Queries the auto scaling events and resource change notifications that you created.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92677', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'ScalingGroupId', '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the region where the scheduled task is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'NotificationConfigurationModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NotificationConfigurationModel' => [ + 'description' => 'The collection of auto scaling events and resource change notifications.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following formats are supported:'."\n" + ."\n" + .'- CloudMonitor: acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" + .'- MNS queue: acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" + .'- MNS topic: acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" + ."\n" + .'The variables in the formats have the following meanings:'."\n" + .'- region-id: The region ID of the scaling group.'."\n" + .'- account-id: The Alibaba Cloud account ID.'."\n" + .'- queuename: The name of the MNS queue.'."\n" + .'- topicname: The name of the MNS topic.', 'type' => 'string', 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'NotificationTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NotificationType' => [ + 'type' => 'array', + 'items' => ['description' => 'The list of auto scaling event and resource change notification types.', 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'TimeZone' => ['description' => 'The time zone of the notification. The time zone offset from Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'example' => 'UTC+8', 'title' => ''], + 'MessageEncoding' => ['description' => 'The encoding method of the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The notification is sent in plaintext.'."\n" + .'- Base64: Base64 encoding.', 'type' => 'string', 'example' => 'PlainText', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NotificationConfigurationModels\\": {\\n \\"NotificationConfigurationModel\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ]\\n },\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query auto scaling events and resource change notifications', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationConfigurations'], + ], + ], + '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 the types of Auto Scaling events and resource change notifications.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92678', + '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-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NotificationType' => [ + 'description' => 'The list of Auto Scaling event and resource change notification types.', + 'type' => 'array', + 'items' => ['description' => 'The list of Auto Scaling event and resource change notification types. Valid values:'."\n" + .'- AUTOSCALING:SCALE_OUT_SUCCESS: Scale-out scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_IN_SUCCESS: Scale-in scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_OUT_ERROR: Scale-out scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_IN_ERROR: Scale-in scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_REJECT: Scaling activity was rejected.'."\n" + .'- AUTOSCALING:SCALE_OUT_START: Scale-out scaling activity started.'."\n" + .'- AUTOSCALING:SCALE_IN_START: Scale-in scaling activity started.'."\n" + .'- AUTOSCALING:SCHEDULE_TASK_EXPIRING: Scheduled task expiration reminder.'."\n" + .'- SCALING_GROUP_DIAGNOSE: Scaling group diagnostics.'."\n" + .'- AUTOSCALING:SCALE_OUT_WARN: Scale-out scaling activity partially succeeded.'."\n" + .'- AUTOSCALG:SCALE_IN_WARN: Scale-down scaling activity partially succeeded.', 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteScheduledTaskResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteScheduledTaskResponse>","errorExample":""}]', - 'title' => 'DeleteScheduledTask', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteScheduledTask\\&type=RPC\\&version=2014-08-28)'."\n", + 'title' => 'Query types of Auto Scaling events and resource change notifications', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ModifyScheduledTask' => [ - 'summary' => '修改一个定时任务的信息', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationTypes'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribePatternTypes' => [ + 'summary' => 'When configuring scaling configurations using the instance attribute-based method, call the DescribePatternTypes API to filter eligible instance types based on specified instance attributes such as the number of vCPU cores, memory size, instance family level, and the maximum acceptable price.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92711', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '222292', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'VSwitchId', 'in' => 'query', + 'style' => 'repeatList', '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", - 'type' => 'string', + 'description' => 'The list of vSwitch IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], 'required' => false, - 'example' => 'scheduled****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Description', + 'name' => 'ZoneId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", - 'type' => 'string', + 'description' => 'The list of zone IDs. This parameter is invalid when vSwitch IDs are specified.', + 'type' => 'array', + 'items' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], 'required' => false, - 'example' => 'Test scheduled task.', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScheduledAction', + 'name' => 'SpotStrategy', '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. If you specify the `ScheduledAction` parameter, you must select an existing scaling rule.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', - ], + 'schema' => ['description' => 'The bidding policy for pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a preemptible instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a preemptible instance for which the system automatically bids with the current market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'RecurrenceEndTime', + 'name' => 'Cores', '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 time point later than 365 days from the scheduled task modification.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-20T16:55Z', - ], + 'schema' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'LaunchTime', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The point in time at which the scheduled task was triggered. 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 time point later than 90 days from the scheduled task modification.'."\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 time point that is specified by the LaunchTime parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-18T10:52Z', - ], + 'schema' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'RecurrenceType', + 'name' => 'MaxPrice', + 'in' => 'query', + 'schema' => ['description' => 'The maximum acceptable hourly price for pay-as-you-go or preemptible instances.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry-level, shared instance type. Lower cost but no guaranteed stable computing performance. Suitable for scenarios with generally low CPU utilization. For more information, see [Shared instance families](~~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, burstable performance instance. Uses CPU credits to ensure computing performance. Suitable for scenarios with normally low CPU utilization and occasional spikes. For more information, see [Burstable performance instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'ExcludedInstanceType', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeatedly executed. Valid values:'."\n" + '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 all instance types in the c6 instance family.'."\n" + ."\n" + .'>To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', + '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" - .'* Daily: The scheduled task is executed once every specified number of days.'."\n" - .'* Weekly: The scheduled task is executed on each specified day of a week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of a month.'."\n" - .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.'."\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', + .'>To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.xlarge', 'title' => ''], 'required' => false, - 'example' => 'Daily', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'Architecture', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n" + '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.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" ."\n" - .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values. Separate them with commas (,). For example, 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. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set `RecurrenceType` 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 wildcard characters, including commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), forward slashes (/), and the letters L and W.'."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\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', + .'Default value: all architecture types.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => '2', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TaskEnabled', + 'name' => 'BurstablePerformance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to include burstable performance instance types. Valid values:'."\n" + ."\n" + .'- Exclude: excludes burstable performance instance types.'."\n" + .'- Include: includes burstable performance instance types.'."\n" + .'- Required: includes only burstable performance instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + ], + [ + 'name' => 'CoresList', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" - ."\n" - .'* true: enables the scheduled task.'."\n" - .'* false: disables the scheduled task.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + 'description' => 'The number of vCPU cores of the instance type. You can specify multiple values.', + 'type' => 'array', + 'items' => ['description' => 'The number of vCPU cores of the instance type. You can specify multiple values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'MemoryList', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The memory size of the instance type. Unit: GiB. You can specify multiple values.', + 'type' => 'array', + 'items' => ['description' => 'The memory size of the instance type. Unit: GiB. You can specify multiple values.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MinValue', + 'name' => 'ChannelId', 'in' => 'query', + 'schema' => ['description' => 'The channel ID.'."\n" + .'>This parameter is not publicly available (internal reserved parameter only).'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '79425074', 'title' => ''], + ], + [ + 'name' => 'InstanceTypeFamilies', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The instance type families to query. N indicates that you can specify multiple instance type families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance type families to query. N indicates that you can specify multiple instance type families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], 'required' => false, - 'example' => '0', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MaxValue', + 'name' => 'MinimumCpuCoreCount', 'in' => 'query', + 'schema' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MaximumCpuCoreCount', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'GpuSpecs', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], 'required' => false, - 'example' => '10', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'InstanceCategories', 'in' => 'query', + 'style' => 'repeatList', '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 the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The instance type categories. Valid values:'."\n" + ."\n" + .'- General-purpose: general-purpose type.'."\n" + .'- Compute-optimized: compute-optimized type.'."\n" + .'- Memory-optimized: memory-optimized type.'."\n" + .'- Big data: big data type.'."\n" + .'- Local SSDs: local SSD type.'."\n" + .'- High Clock Speed: high clock speed type.'."\n" + .'- Enhanced: enhanced type.'."\n" + .'- Shared: shared type.'."\n" + .'- Compute-optimized with GPU: GPU compute-optimized type.'."\n" + .'- Visual Compute-optimized: visual compute-optimized type.'."\n" + .'- Heterogeneous Service: heterogeneous service type.'."\n" + .'- Compute-optimized with FPGA: FPGA compute-optimized type.'."\n" + .'- Compute-optimized with NPU: NPU compute-optimized type.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high performance computing type.', + 'type' => 'array', + 'items' => ['description' => 'The instance type categories. Valid values:'."\n" + ."\n" + .'- General-purpose: general-purpose type.'."\n" + .'- Compute-optimized: compute-optimized type.'."\n" + .'- Memory-optimized: memory-optimized type.'."\n" + .'- Big data: big data type.'."\n" + .'- Local SSDs: local SSD type.'."\n" + .'- High Clock Speed: high clock speed type.'."\n" + .'- Enhanced: enhanced type.'."\n" + .'- Shared: shared type.'."\n" + .'- Compute-optimized with GPU: GPU compute-optimized type.'."\n" + .'- Visual Compute-optimized: visual compute-optimized type.'."\n" + .'- Heterogeneous Service: heterogeneous service type.'."\n" + .'- Compute-optimized with FPGA: FPGA compute-optimized type.'."\n" + .'- Compute-optimized with NPU: NPU compute-optimized type.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high performance computing type.', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], 'required' => false, - 'example' => '10', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'CpuArchitectures', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group whose number of instances is changed when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" + 'description' => 'The CPU architectures of the instance type.', + '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" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'PhysicalProcessorModels', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + '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, - 'example' => 'cn-hangzhou', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'MinimumEniQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of elastic network interfaces (ENIs) supported by the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MinimumEniPrivateIpAddressQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of IPv4 addresses per ENI for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MinimumEniIpv6AddressQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of IPv6 addresses per ENI for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'MinimumInitialCredit', + 'in' => 'query', + 'schema' => ['description' => 'The minimum initial vCPU credits for burstable performance instances t5 and t6.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'MinimumBaselineCredit', + 'in' => 'query', + 'schema' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable performance instances t5 and t6.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'MinimumMemorySize', + 'in' => 'query', + 'schema' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'MaximumMemorySize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'MinimumGpuAmount', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MaximumGpuAmount', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'PatternTypes' => [ + 'description' => 'The eligible instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The eligible instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The name of the instance type.', 'type' => 'string', 'example' => 'ecs.c7.xlarge', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry-level, shared instance type. Lower cost but no guaranteed stable computing performance. Suitable for scenarios with generally low CPU utilization. For more information, see [Shared instance families](~~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, burstable performance instance. Uses CPU credits to ensure computing performance. Suitable for scenarios with normally low CPU utilization and occasional spikes. For more information, see [Burstable performance instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'InstanceTypeFamily' => ['description' => 'The instance type family.', 'type' => 'string', 'example' => 'ecs.c7', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '8', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling', - 'errorMessage' => 'Request was denied due to request throttling.', + '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', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePatternTypes'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyScheduledTaskResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyScheduledTaskResponse>","errorExample":""}]', - 'title' => 'ModifyScheduledTask', - 'description' => '## Description'."\n" - ."\n" - .'You can use the following parameters to specify the scaling method of a scheduled task:'."\n" - ."\n" - .'* If you use the `ScheduledAction` parameter, you must select an existing scaling rule for the scheduled task.'."\n" - .'* If you use the `ScalingGroupId` parameter, you must specify at least one of the minimum number, maximum number, and expected number of instances in the scheduled task for a scaling group.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', ], - 'DescribeScheduledTasks' => [ - 'summary' => '查询定时任务的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeRegions' => [ + 'summary' => 'Queries the regions where Auto Scaling is available.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12733,139 +9092,171 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '92686', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92679', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which a scheduled task belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'Filters the results based on the specified language. 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.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The page number of the scheduled task list to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => 'The collection of region information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of region information.', + 'type' => 'object', + 'properties' => [ + 'ClassicUnavailable' => ['description' => 'Indicates whether scaling groups of the classic network type are supported in the current region. Valid values:'."\n" + ."\n" + .'- true: Not supported.'."\n" + .'- false: Supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'ess.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '华北2 (北京)', 'title' => ''], + 'VpcUnavailable' => ['description' => 'Indicates whether scaling groups of the VPC network type are supported in the current region. Valid values:'."\n" + ."\n" + .'- true: Not supported.'."\n" + .'- false: Supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The 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, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', + ], + 'title' => 'Query regions where Auto Scaling is available', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidAcceptLanguage.NotFound|Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.|The specified language is not supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2 (北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeScalingActivities' => [ + 'summary' => 'Queries scaling activities.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to execute the scheduled task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1bo5tca4m56nap****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92680', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'ScheduledAction', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The actions that you want Auto Scaling to perform when the scheduled task is triggered.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The operation that you want to perform when scheduled task N is triggered. Valid values of N: 1 to 20.'."\n", - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling activities belong.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScheduledTaskId', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The total number of scheduled tasks.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of scheduled task N that you want to query. Valid values of N: 1 to 20.'."\n", - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], - 'required' => false, - 'example' => 'edRtShc57WGXdt8TlPbr****', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The page number of the scaling activity list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The total number of scheduled tasks.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of scheduled task N that you want to query. Valid values of N: 1 to 20.'."\n", - 'example' => 'scheduled****', - ], - 'required' => false, - 'example' => 'scheduled****', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The number of entries per page for paging query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'TaskName', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'RecurrenceType', + 'name' => 'StatusCode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + .'- Successful: The scaling activity was executed successfully. '."\n" + .'- Warning: The scaling activity was partially successful. '."\n" + .'- Failed: The scaling activity failed.'."\n" + .'- InProgress: The scaling activity is being executed.'."\n" + .'- Rejected: The request to execute the scaling activity was rejected.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Successful', 'title' => ''], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'ScalingActivityId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'string', + 'description' => 'The IDs of the scaling activities that you want to query.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling activity that you want to query.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp161xudmuxdzofe****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TaskEnabled', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the instance refresh task. You can set this parameter to query the list of scaling activities associated with the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], ], 'responses' => [ @@ -12873,275 +9264,386 @@ 'schema' => [ '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 scheduled tasks.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScheduledTasks' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', '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' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling activities.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingActivities' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ScheduledTask' => [ - 'description' => 'The collection of scheduled tasks.'."\n", + 'ScalingActivity' => [ + 'description' => 'The collection of scaling activity information.', 'type' => 'array', 'items' => [ + 'description' => 'The collection of scaling activity information.', 'type' => 'object', 'properties' => [ - 'TaskEnabled' => [ - 'description' => 'Specifies whether the scheduled task is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RecurrenceValue' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'RecurrenceType' => [ - 'description' => 'The interval at which the scheduled task recurs.'."\n", - 'type' => 'string', - 'example' => 'Daily', - ], - 'MaxValue' => [ - 'description' => 'The maximum number of instances in the scaling group when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\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 when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\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 in the scaling group when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'Progress' => ['description' => 'The execution progress of the scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'ScalingInstanceNumber' => ['description' => '- If the scaling activity is a scale-out activity, this parameter indicates the number of instances that were created or started from the economy mode during the scaling activity.'."\n" + .'- If the scaling activity is a scale-in activity, this parameter indicates the number of instances that were deleted or entered the economy mode during the scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AttachedCapacity' => ['description' => 'The total number of instances that were manually added to the scaling group after the scaling activity was complete.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total number of instances in the scaling group after the scaling activity was complete.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + 'AutoCreatedCapacity' => ['description' => 'The total number of instances in the scaling group that were subject to automatic creation by the scaling group after the scaling activity was executed.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the scaling activity.', 'type' => 'string', 'example' => '2020-09-10T09:54Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the scaling activity.', 'type' => 'string', 'example' => '2020-09-10T09:54Z', 'title' => ''], + 'Description' => ['description' => 'The description of the scaling activity.', 'type' => 'string', 'example' => 'Add \\"1\\" ECS instance', 'title' => ''], + 'StatusCode' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + .'- Successful: The scaling activity was executed successfully. '."\n" + .'- Warning: The scaling activity was partially successful. '."\n" + .'- Failed: The scaling activity failed. '."\n" + .'- InProgress: The scaling activity is being executed.'."\n" + .'- Rejected: The request to execute the scaling activity was rejected.', 'type' => 'string', 'example' => 'Successful', 'title' => ''], + 'Cause' => ['description' => 'The cause that triggered the scaling activity.', 'type' => 'string', 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp161xudmuxdzofe****', 'title' => ''], + 'StatusMessage' => ['description' => 'The status message of the scaling activity.', 'type' => 'string', 'example' => '\\"1\\" ECS instances are added', 'title' => ''], + 'CreatedCapacity' => ['description' => 'The number of instances created during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DestroyedCapacity' => ['description' => 'The number of instances released during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StartedCapacity' => ['description' => 'The number of instances started from the economy mode during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that entered the economy mode during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreatedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CreatedInstance' => [ + 'description' => 'The list of instances created during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances created during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group in which you want to execute the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1bo5tca4m56nap****', + 'DestroyedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestroyedInstance' => [ + 'description' => 'The list of instances released during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances released during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LaunchExpirationTime' => [ - 'description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '600', + 'StartedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StartedInstance' => [ + 'description' => 'The list of instances started from the economy mode during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances started from the economy mode during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'Description' => [ - 'description' => 'The description of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'Test scheduled task.', + 'StoppedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StoppedInstance' => [ + 'description' => 'The list of instances that entered the economy mode during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances that entered the economy mode during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'ScheduledAction' => [ - 'description' => 'The scaling rule that you want to use to execute the scheduled task. This parameter is returned only if a scaling rule is specified for the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + 'ErrorCode' => ['description' => 'The error code returned when the scaling activity failed.', 'type' => 'string', 'example' => 'OperationDenied.NoStock', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned when the scaling activity failed.', 'type' => 'string', 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.', 'title' => ''], + 'Detail' => ['description' => 'The details of the scaling activity.', 'type' => 'string', 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."', 'title' => ''], + 'TriggerSourceType' => ['description' => 'The type of the trigger source for the scaling activity. Valid values:'."\n" + ."\n" + .'- Cms: The scaling activity was triggered by an event-triggered task.'."\n" + .'- Api: The scaling activity was triggered by a user through an API call.'."\n" + .'- Ess: The scaling activity was triggered by a system task.', 'type' => 'string', 'example' => 'Api', 'title' => ''], + 'TriggerSourceId' => ['description' => 'The ID of the trigger source for the scaling activity. Valid values:'."\n" + ."\n" + .'- Cms trigger source ID: the ID of the event-triggered task.'."\n" + .'- Api trigger source ID: the UID of the Alibaba Cloud account or RAM user.'."\n" + .'- Ess trigger source ID: empty.', 'type' => 'string', 'example' => '2346366580*****', 'title' => ''], + 'LifecycleHookContext' => [ + 'description' => 'The context information of lifecycle hooks.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Indicates whether all lifecycle hooks are disabled for the scaling activity. Valid values:'."\n" + ."\n" + .'- true: Disabled.'."\n" + .'- false: Not disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IgnoredLifecycleHookId' => [ + 'description' => 'The list of lifecycle hook IDs that are disabled for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of lifecycle hook IDs that are disabled for the scaling activity.', 'type' => 'string', 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'LaunchTime' => [ - 'description' => 'The point in time at which the scheduled task is triggered.'."\n", - 'type' => 'string', - 'example' => '2014-08-18T10:52Z', + 'ActivityMetadata' => ['description' => 'The metadata of the scaling activity.', 'type' => 'string', 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-asdf12adsxg*****', 'title' => ''], + 'ErrorMessages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ErrorMessages' => [ + 'description' => 'The error messages returned when the scaling activity failed or was partially successful.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The exception description of the scaling activity.', 'type' => 'string', 'example' => 'Fail to create instances into scaling group.', 'title' => ''], + 'Code' => ['description' => 'The error code returned when the scaling activity failed or was partially successful.', 'type' => 'string', 'example' => 'OperationDenied.NoStock', 'title' => ''], + 'Message' => ['description' => 'The error messages returned when the scaling activity failed or was partially successful.', 'type' => 'string', 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', 'title' => ''], + 'FailedInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FailedInstanceIds' => [ + 'description' => 'The list of failed instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-8vbedazhjj6a6******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": {\\n \\"ScheduledTask\\": [\\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 }\\n}","errorExample":""},{"type":"xml","example":"<DescribeScheduledTasksResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <ScheduledTasks>\\n <TaskEnabled>true</TaskEnabled>\\n <RecurrenceValue>1</RecurrenceValue>\\n <RecurrenceType>Daily</RecurrenceType>\\n <MaxValue>10</MaxValue>\\n <ScheduledTaskName>scheduled****</ScheduledTaskName>\\n <RecurrenceEndTime>2014-08-20T16:55Z</RecurrenceEndTime>\\n <DesiredCapacity>10</DesiredCapacity>\\n <ScheduledTaskId>edRtShc57WGXdt8TlPbr****</ScheduledTaskId>\\n <MinValue>0</MinValue>\\n <ScalingGroupId>asg-bp1bo5tca4m56nap****</ScalingGroupId>\\n <LaunchExpirationTime>600</LaunchExpirationTime>\\n <Description>Test scheduled task.</Description>\\n <ScheduledAction>ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****</ScheduledAction>\\n <LaunchTime>2014-08-18T10:52Z</LaunchTime>\\n </ScheduledTasks>\\n</DescribeScheduledTasksResponse>","errorExample":""}]', - 'title' => 'DescribeScheduledTasks', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": {\\n \\"ScalingActivity\\": [\\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 \\"CreatedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"DestroyedInstances\\": {\\n \\"DestroyedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StartedInstances\\": {\\n \\"StartedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StoppedInstances\\": {\\n \\"StoppedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"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 \\"IgnoredLifecycleHookId\\": [\\n \\"ash-bp14zolna43z266bq***\\"\\n ]\\n }\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": {\\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 \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scaling activities', + 'description' => '## Operation description'."\n" + ."\n" + .'- You can specify a scaling group ID to query all scaling activities in the scaling group.'."\n" ."\n" - .'You can query scheduled tasks based on scaling rule, task ID, and task name.'."\n", + .'- You can filter query results by the status of scaling activities.'."\n" + ."\n" + .'- You can query scaling activities within the last 30 days.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLifecycleHook' => [ - 'summary' => '为伸缩组创建一个生命周期挂钩', - 'methods' => [ - 'post', - 'get', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivities'], + ], ], + ], + 'DescribeScalingActivityDetail' => [ + 'summary' => 'Queries the details of a scaling activity.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92655', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92681', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingActivityId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling activity that you want to query. You can call [DescribeScalingActivities](~~25961~~) to query scaling activity IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'Detail' => ['description' => 'The details of the scaling activity, including whether the scaling activity succeeded or failed. This parameter is not returned when the scaling activity is in the reject state.', 'type' => 'string', 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + '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"}]', + 'title' => 'Query the details of a scaling activity', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParameter|The input parameter \\"ScalingActivityId\\" that is mandatory for processing this request is not supplied|The ID of the scaling activity to query is not specified.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivityDetail'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeScalingConfigurations' => [ + 'summary' => 'Queries the information about scaling configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LifecycleHookName', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92682', + 'abilityTreeNodes' => ['FEATUREessVYTHU5'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', '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 (.). The name 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****', - ], + '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' => 'LifecycleTransition', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activities to which you want to apply the lifecycle hook. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-out activities'."\n" - .'* SCALE_IN: scale-in activities'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SCALE_OUT', - ], + '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' => 'DefaultResult', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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 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 a scaling group has multiple lifecycle hooks in effect and you set the `DefaultResult` parameter for one of the lifecycle hooks to `ABANDON` or `ROLLBACK`, the following rule applies to scale-in activities: When the lifecycle hook whose **DefaultResult** parameter is set to **ABANDON** or **ROLLBACK** times out, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out. The action that Auto Scaling performs is specified by the **DefaultResult** parameter of the last lifecycle hook that times out.'."\n" - ."\n" - .'Default value: CONTINUE.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + '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' => 'HeartbeatTimeout', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - '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 the **DefaultResult** parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to extend the period of time before a lifecycle hook times out. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end a lifecycle hook ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + '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' => 'NotificationMetadata', + 'name' => 'ScalingConfigurationId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect. Auto Scaling sends the value of the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. If you specify this parameter, you must also specify the `NotificationArn` parameter. The value of this parameter cannot exceed 4,096 characters in length.'."\n" - ."\n" - .'If you use the `NotificationArn` parameter to specify a public or custom OOS template, the value of the `NotificationMetadata` parameter must be a JSON string that contains the OOS template parameters.'."\n" + 'description' => 'The ID of the scaling configuration that you want to query.'."\n" ."\n" - .'For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Specific parameters that are 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. 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" - ."\n" - .'* instanceIds: the IDs of ECS instances that are scaled in the scaling activity. Default value: ${instanceIds}.'."\n" - ."\n" - .'* lifecycleHookId: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n" - ."\n" - .'* lifecycleActionToken: the token of the lifecycle hook. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n" - ."\n" - .'* scalingGroupId: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n" - ."\n" - .'* lifecycleActionResult: the action that Auto Scaling performs after the lifecycle hook times out. If the OOS template fails to be executed, the lifecycle hook times out ahead of schedule. If you set the `DefalutResult` parameter to `ROLLBACK`, the default value of this parameter is `ROLLBACK`. If you set the `DefaultResult` parameter to other values, the default value of this parameter is ABANDON.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**'."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response element.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling configuration that you want to query.'."\n" ."\n" - .' * You can specify a value for the `lifecycleActionResult` parameter to overwrite the default value. Valid values: **ABANDON**, **CONTINUE**, **ROLLBACK**, and **${lifecycleActionResult}**. A value of `${lifecycleActionResult}` specifies that the value of the **lifecycleActionResult** parameter is the same as the value of the **DefaultResult** parameter.'."\n" - .' * You can view the details of the OOS template that you specify in the [OOS console](https://oos.console.aliyun.com/).'."\n", - 'type' => 'string', + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response element.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], 'required' => false, - 'example' => 'Test lifecycle hook.', + 'example' => 'asc-bp17pelvl720x5ub****', + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'NotificationArn', + 'name' => 'ScalingConfigurationName', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the following rules apply:'."\n" - ."\n" - .'* If you use an MNS queue as the notification method, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you use an MNS topic as the notification method, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you use an OOS template as the notification method, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" + 'description' => 'The name of the scaling configuration that you want to query.'."\n" ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', + 'type' => 'array', + 'items' => ['description' => 'The name of the scaling configuration that you want to query.'."\n" ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account. The ID of a RAM user is not supported.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', + .'The query results ignore invalid scaling configuration names without returning an error.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon****', 'title' => ''], 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + 'example' => 'scalingcon****', + 'maxItems' => 10, + 'title' => '', ], ], ], @@ -13150,385 +9652,1021 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp1at9ufhmcf9cmy****', + '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' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingConfiguration' => [ + '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. The ID of an elasticity assurance or a 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 strategy 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: The instance is not created on a dedicated host.'."\n" + ."\n" + .'- host: The instance is created on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', '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 status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'- Active: The scaling configuration is active. The scaling group uses the active scaling configuration for automatic creation of ECS instances.'."\n" + .'- Inacitve: The scaling configuration is inactive. Inactive scaling configurations are retained in the scaling group, but the scaling group does not use them 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 user data of the ECS instance, which is encoded in Base64.', 'type' => 'string', 'example' => 'echo hello ecs!', 'title' => ''], + 'PrivatePoolOptions.MatchCriteria' => ['description' => 'The private pool capacity option for instance startup. A private pool is generated after an elasticity assurance or a 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 to start the instance.'."\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.'."\n" + ."\n" + .'- None: none mode. No private pool is used to start the instance.', '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 are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call [DescribeDedicatedHosts](~~134242~~) 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" + .'You can specify both CPU and Memory to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to define all instance types that have 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 zones, and then creates instances at the lowest price.'."\n" + ."\n" + .'> This setting takes effect only when the cost optimization mode is enabled and 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. You can set this parameter to obtain the latest available image from the specified 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" + .'- system: a public image provided by Alibaba Cloud.'."\n" + .'- self: a custom image that you created.'."\n" + .'- others: a shared image or community image from other Alibaba Cloud accounts.'."\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 optimized 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 is provided and maintained by RAM. You can call [ListRoles](~~28713~~) to query available RAM roles. For information about how to create a RAM role, see [CreateRole](~~28710~~).', 'type' => 'string', 'example' => 'ramrole****', 'title' => ''], + 'SystemDiskPerformanceLevel' => ['description' => 'The performance level (PL) of the system cloud disk when the system cloud disk is an ESSD.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to define all instance types that have 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 zones, and then creates instances at the lowest price.'."\n" + ."\n" + .'> This setting takes effect only when the cost optimization mode is enabled and 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](~~25610~~) 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 fixed bandwidth value.'."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is the bandwidth upper limit. Billing is based on the actual network traffic.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image file.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', '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, see the performance constrained mode section in [What are burstable instances?](~~59977~~).'."\n" + .'- Unlimited: unlimited mode. For more information, see the unlimited mode section in [What are burstable instances?](~~59977~~).', 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'SpotInterruptionBehavior' => ['description' => 'The interruption pattern of the spot instance.', 'type' => 'string', 'example' => 'Terminate', 'title' => ''], + 'DataDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisk' => [ + '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.', '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 property 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', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for 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.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'Categories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Category' => [ + 'description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts 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 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 decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts 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 along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud_essd', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS refers to the number of I/O operations that a block storage device can process per second.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Indicates whether the Burst (performance burst) feature is enabled for the data cloud disk. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'> This parameter is returned only when DataDisk.Category is set to cloud_auto.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL cloud disks](~~368372~~).</props>', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + '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" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag key 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" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'alterTable', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SpotPriceLimit' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SpotPriceModel' => [ + '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', 'title' => ''], + 'PriceLimit' => ['description' => 'The price limit of the spot instance.', 'type' => 'number', 'format' => 'float', 'example' => '0.125', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstancePatternInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstancePatternInfo' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the specified requirements.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the specified requirements.', + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => ['description' => 'The maximum hourly price 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. These instance 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 instance 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 entry level, which refers to burstable instances. These instance 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 [Burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'Architectures' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Architecture' => [ + 'description' => 'The architecture type 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.', + 'type' => 'array', + 'items' => ['description' => 'The architecture type 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.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether burstable instance types are included. Valid values:'."\n" + ."\n" + .'- Exclude: Burstable instance types are excluded.'."\n" + .'- Include: Burstable instance types are included.'."\n" + .'- Required: Only burstable instance types are included.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ExcludedInstanceType' => [ + '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', 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeFamily' => [ + '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', 'example' => 'ecs.g6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + '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" + .'> The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GpuSpec' => [ + 'description' => 'The GPU type.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'example' => 'NVIDIA V100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceCategory' => [ + 'description' => 'The instance type category.', + 'type' => 'array', + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + .'>N specifies that you can configure 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: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CpuArchitecture' => [ + 'description' => 'The CPU architecture of the instance type.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PhysicalProcessorModel' => [ + 'description' => 'The processor model 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 model of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of network interface controllers (NICs) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The expected minimum number of IPv4 addresses per network interface controller (NIC) on the instance.'."\n" + .'[_single.resp.200.props.ScalingConfigurations.ScalingConfiguration.items.InstancePatternInfos.InstancePatternInfo.items.Minimum', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The maximum number of IPv6 addresses supported by the minimum number of elastic network interfaces (ENIs) per instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credit value 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' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SystemDiskCategory' => [ + 'description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, 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 decreases in order. When a higher-priority disk type is unavailable, 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' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'WeightedCapacities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'WeightedCapacity' => [ + 'description' => 'The weight of the specified instance type, which indicates the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are required to meet the expected capacity.', + 'type' => 'array', + 'items' => ['description' => 'The weight of the specified instance type, which indicates the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are required to meet the expected capacity.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + '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' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + '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' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SchedulerOptions' => [ + 'description' => 'The scheduling options.', + 'type' => 'object', + 'properties' => [ + 'ManagedPrivateSpaceId' => ['description' => 'The intelligent fully managed resource pool.', 'type' => 'string', 'example' => 'testManagedPrivateSpaceId', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SystemDisk.Encrypted' => ['description' => 'Indicates whether the system cloud disk is encrypted. Valid values:'."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SystemDisk.KMSKeyId' => ['description' => 'The ID of the KMS key used for the system cloud disk.'."\n" + .'[_single.resp.200.props.ScalingConfigurations.ScalingConfiguration.items.SystemD', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'SystemDisk.EncryptAlgorithm' => ['description' => 'The encryption algorithm used for the system cloud disk. Valid values:'."\n" + .'- AES-256.'."\n" + .'- SM4-128.', 'type' => 'string', 'example' => 'AES-256', 'title' => ''], + 'SystemDisk.ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) refers to 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' => ''], + 'SystemDisk.BurstingEnabled' => ['description' => 'Indicates whether the burst feature is enabled for the system cloud disk. 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.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL cloud disks](~~368372~~).</props>', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOptions.LoginAsNonRoot' => ['description' => 'Indicates whether the ECS instance uses the ecs-user user for logon. Valid values:'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DeletionProtection' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and 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 API operation. This prevents instances that are scaled out by Auto Scaling from being accidentally deleted.'."\n" + ."\n" + .'- false: Release protection is disabled. The instance can be directly released from the ECS console or by calling the API operation.'."\n" + ."\n" + .'> This property does not affect normal scale-in activities. When a scale-in activity occurs, pay-as-you-go instances with release protection enabled can still be released.', '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. The value must be an integer that is greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CustomPriorities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CustomPriority' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'> This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.'."\n" + ."\n" + .'When Auto Scaling cannot create ECS instances by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically uses the **ECS instance type + vSwitch** combination with the next priority to create ECS instances.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + 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. 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' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'><notice>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + .'> The instance type must be included in the instance type list of the scaling configuration.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + .'> The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterface' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + '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 pattern of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication pattern.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) on the network interface controller (NIC) and uses the RDMA communication pattern.', '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' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong. The network interface controller (NIC) can belong to multiple security groups.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong. The network interface controller (NIC) can belong to multiple security groups.', 'type' => 'string', 'example' => 'sg-2vc3e1v7h****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + '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 IP address limit for the instance type. For more information, see [Instance families](~~25378~~).'."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses assigned 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) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DedicatedHostClusterId' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], + 'PasswordSetted' => ['description' => 'Indicates whether a password is set for the instance. Valid values:'."\n" + ."\n" + .'- true: A password is set.'."\n" + .'- false: No password is set.', '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: builds a TDX confidential computing environment. 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" + ."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'HttpTokens' => ['description' => 'Indicates whether the China mode (IMDSv2) is forcefully used to access 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 instances are created.'."\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. You can select a resource pool when instances are started. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. If ResourcePoolOptions.PrivatePoolIds is specified or the 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. 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 the PrivatePoolTags conditions are used.'."\n" + ."\n" + .'- None: no resource pool policy is used.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivatePoolId' => [ + 'description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. 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. This parameter cannot be specified together with the PrivatePoolTags parameter.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivatePoolTag' => [ + 'description' => 'Filters available Target private pools by tag.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'Filters available Target private pools by tag.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + '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: Enabled.'."\n" + .'* disabled: Not enabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLifecycleHookResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <LifecycleHookId>ash-bp1at9ufhmcf9cmy****</LifecycleHookId>\\n</CreateLifecycleHookResponse>","errorExample":""}]', - 'title' => 'CreateLifecycleHook', - 'description' => '## Usage notes'."\n" - ."\n" - .'* You can create up to six lifecycle hooks for each scaling group. Elastic Compute Service (ECS) instances are not immediately added to or removed from scaling groups that have effective lifecycle hooks during scaling activities. The ECS instances are added to or removed from the scaling groups only after the lifecycle hooks time out. The period of time before the lifecycle hooks time out is specified by the HeartbeatTimeout parameter. Before lifecycle hooks time out, you can initialize the configurations of ECS instances and query data on the ECS instances.'."\n" - .'* If lifecycle hooks take effect for scale-out activities, the private IP addresses of ECS instances are added to the IP address whitelists of the associated ApsaraDB RDS instances and the ECS instances are added to the backend server groups of the associated Server Load Balancer (SLB) instances only after the lifecycle hooks time out. If lifecycle hooks take effect for scale-in activities, the private IP addresses of ECS instances are removed from the IP address whitelists of the disassociated ApsaraDB RDS instances and the ECS instances are removed from the backend server groups of the disassociated SLB instances only after the lifecycle hooks time out.'."\n" - .'* You can configure a notification method for a lifecycle hook. When the lifecycle hook takes effect, a notification can be sent by using a Message Service (MNS) topic, an MNS queue, or an Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a RAM role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).'."\n" - ."\n" - .'> If your scaling group has existing ECS instances and you configured an OOS template that is used to add private IP addresses of ECS instances to or remove private IP addresses of ECS instances from IP address whitelists of cloud databases that are not ApsaraDB RDS databases, you must manually add the IP addresses to or remove the IP addresses from the IP address whitelists.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": {\\n \\"ScalingConfiguration\\": [\\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!\\",\\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_20140703.vhd\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\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 \\"Category\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ]\\n },\\n \\"SpotPriceLimit\\": {\\n \\"SpotPriceModel\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ]\\n },\\n \\"InstancePatternInfos\\": {\\n \\"InstancePatternInfo\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": {\\n \\"Architecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": {\\n \\"ExcludedInstanceType\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ]\\n },\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamily\\": [\\n \\"ecs.g6\\"\\n ]\\n },\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": {\\n \\"GpuSpec\\": [\\n \\"NVIDIA V100\\"\\n ]\\n },\\n \\"InstanceCategories\\": {\\n \\"InstanceCategory\\": [\\n \\"Compute-optimized with GPU\\"\\n ]\\n },\\n \\"CpuArchitectures\\": {\\n \\"CpuArchitecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"PhysicalProcessorModels\\": {\\n \\"PhysicalProcessorModel\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\\\\\", \\\\\\"Intel Xeon(Skylake) Platinum 8163\\\\\\", … \\\\\\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"\\n ]\\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 },\\n \\"SystemDiskCategories\\": {\\n \\"SystemDiskCategory\\": [\\n \\"cloud\\"\\n ]\\n },\\n \\"WeightedCapacities\\": {\\n \\"WeightedCapacity\\": [\\n \\"4\\"\\n ]\\n },\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n \\"ecs.g6.large\\"\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ]\\n },\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDisk.Encrypted\\": false,\\n \\"SystemDisk.KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"SystemDisk.EncryptAlgorithm\\": \\"AES-256\\",\\n \\"SystemDisk.ProvisionedIops\\": 100,\\n \\"SystemDisk.BurstingEnabled\\": false,\\n \\"ImageOptions.LoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"CustomPriorities\\": {\\n \\"CustomPriority\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-2vc3e1v7h****\\"\\n ]\\n },\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ]\\n },\\n \\"DedicatedHostClusterId\\": \\"dc-2zedxc67zqzt7lb4****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": {\\n \\"PrivatePoolId\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n },\\n \\"PrivatePoolTags\\": {\\n \\"PrivatePoolTag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n }\\n },\\n \\"CpuOptions\\": {\\n \\"NestedVirtualization\\": \\"enabled\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'Query scaling configuration information', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteLifecycleHook' => [ - 'summary' => '删除一个生命周期挂钩', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingConfigurations'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeScalingGroups' => [ + 'summary' => 'Queries scaling groups.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92664', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92683', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp14g3ee6bt3sc98****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The page number of the scaling group list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'PageSize', 'in' => 'query', 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', + 'description' => 'The number of entries per page for paging queries. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', + 'enumValueTitles' => [10 => '10'], + 'type' => 'integer', + 'format' => 'int32', 'required' => false, - 'example' => 'lifecyclehook****', + 'maximum' => '50', + 'default' => '10', + 'example' => '10', + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'ScalingGroupName.1', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.1为待查询的伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteLifecycleHookResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteLifecycleHookResponse>","errorExample":""}]', - 'title' => 'DeleteLifecycleHook', - 'description' => '## Description'."\n" - ."\n" - .'If you delete a lifecycle hook that is in effect in a scaling group, instances are removed from the pending state in advance. You can use one of the following methods to specify the lifecycle hooks that you want to delete:'."\n" - ."\n" - .'* Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter and specify the lifecycle hook name by using the LifecycleHookName parameter.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyLifecycleHook' => [ - 'summary' => '修改一个生命周期挂钩的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ScalingGroupName.2', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.2为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92706', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', + [ + 'name' => 'ScalingGroupName.3', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.3为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'ScalingGroupName.4', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'ScalingGroupName.4为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingGroupName.5', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'ScalingGroupName.5为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'ScalingGroupName.6', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_SCALE_IN', - ], + 'schema' => ['description' => 'ScalingGroupName.6为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'DefaultResult', + 'name' => 'ScalingGroupName.7', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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 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 a scaling group has multiple lifecycle hooks in effect and you set the `DefaultResult` parameter for one of the lifecycle hooks to `ABANDON` or `ROLLBACK`, the following rule applies to scale-in activities: When the lifecycle hook whose **DefaultResult** parameter is set to **ABANDON** or **ROLLBACK** times out, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after the last lifecycle hook times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'ScalingGroupName.7为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'ScalingGroupName.8', 'in' => 'query', - 'schema' => [ - '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 the **DefaultResult **parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to extend the period of time before a lifecycle hook times out. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end a lifecycle hook ahead of schedule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'ScalingGroupName.8为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'LifecycleTransition', + 'name' => 'ScalingGroupName.9', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-out activity'."\n" - .'* SCALE_IN: scale-in activity'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_IN', - ], + 'schema' => ['description' => 'ScalingGroupName.9为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'NotificationMetadata', + 'name' => 'ScalingGroupName.10', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed string that is included in a notification that Auto Scaling sends 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 of the `NotificationMetadata` parameter together with the notification. This helps you categorize your notifications. If you specify the `NotificationMetadata` parameter, you must specify the `NotificationArn` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => 'ScalingGroupName.10为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ScalingGroupName.11', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method.'."\n" - ."\n" - .'* If you use a Message Service (MNS) queue as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you use an MNS topic as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - .'* If you use an Operation Orchestration Service (OOS) template as the notification method, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` 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 MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'ScalingGroupName.11为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupName.12', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'ScalingGroupName.12为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'LifecycleHookStatus', + 'name' => 'ScalingGroupName.13', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The status that you want to specify for the lifecycle hook. Valid values: 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 new lifecycle hook is in the **Active** state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], + 'schema' => ['description' => 'ScalingGroupName.13为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + [ + 'name' => 'ScalingGroupName.14', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.14为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyLifecycleHookResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyLifecycleHookResponse>","errorExample":""}]', - 'title' => 'ModifyLifecycleHook', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can use one of the following methods to specify the lifecycle hook that you want to modify:'."\n" - ."\n" - .'* Specify the lifecycle hook ID by using the `LifecycleHookId` parameter. When you use this method, the `ScalingGroupId` and `LifecycleHookName` parameters are ignored.'."\n" - .'* Specify the scaling group ID by using the `ScalingGroupId` parameter and specify the lifecycle hook name by using the `LifecycleHookName` parameter.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeLifecycleActions' => [ - 'summary' => '查看伸缩活动对应的生命周期操作详情', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ScalingGroupName.15', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.15为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92674', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', + [ + 'name' => 'ScalingGroupName.16', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.16为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingActivityId', + 'name' => 'ScalingGroupName.17', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asa-bp17mug9t0pegagw****', - ], + 'schema' => ['description' => 'ScalingGroupName.17为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'LifecycleActionStatus', + 'name' => 'ScalingGroupName.18', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the lifecycle action. Valid values:'."\n" - ."\n" - .'* Pending: ECS instances enter the Pending state.'."\n" - .'* Timeout: The lifecycle hook times out. ECS instances are automatically removed from the Pending state.'."\n" - .'* Completed: ECS instances are manually removed from the Pending state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Pending', - ], + 'schema' => ['description' => 'ScalingGroupName.18为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ScalingGroupName.19', '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 were 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****', - ], + 'schema' => ['description' => 'ScalingGroupName.19为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'ScalingGroupName.20', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.20为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', '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.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The ID of the scaling group to query. ScalingGroupId.N specifies the Nth scaling group ID. Valid values of N: 1 to 20. Invalid scaling group IDs are ignored in the query results, and no error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling group to query. ScalingGroupId.N specifies the Nth scaling group ID. Valid values of N: 1 to 20. Invalid scaling group IDs are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => '10', + 'example' => 'asg-bp14wlu85wrpchm0****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n" + .'>If no scaling group belongs to the specified resource group, an empty result is returned, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'rg-123****', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', + 'description' => 'The tags of the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Finance', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -13537,109 +10675,572 @@ '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 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' => [ + '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' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'LifecycleAction' => [ - 'description' => 'The lifecycle actions that correspond to each lifecycle hook.'."\n", + 'ScalingGroup' => [ + 'description' => 'The collection of scaling group information.', 'type' => 'array', 'items' => [ + 'description' => 'The collection of scaling group information.', 'type' => 'object', 'properties' => [ - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp18uoft0deax0f7****', + 'VpcId' => ['description' => 'The ID of the VPC to which the scaling group belongs.', 'type' => 'string', 'example' => 'vpc-bp1vwnn14rqpyiczj****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group.', 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****', 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of available instance types. The scaling group creates spot instances across multiple instance types at the lowest cost. Valid values: 0 to 10.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances in the scaling group that are in the economy mode (stopped).', '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 (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was last modified.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go instances are automatically created to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. This parameter takes effect only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: Pay-as-you-go instances are automatically created.'."\n" + .'- false: Pay-as-you-go instances are not automatically created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + .' '."\n" + .'- recycle: The scaling group uses the shutdown and reclaim mode.'."\n" + .'- release: The scaling group uses the release mode.'."\n" + .'- forcerelease: The scaling group uses the forced release mode.'."\n" + ."\n" + .'For more information about actions on removed instances, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the pending removal state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that have been added to the scaling group and are running as expected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances in the protected state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: The health status of instances is determined based on the health check results of the associated load balancing instance. CLB-type load balancing instances are not supported.', '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 accept requests to execute scaling rules and trigger scaling activities.'."\n" + ."\n" + .'- Inactive: The scaling group is inactive. Inactive scaling groups do not accept any requests to execute scaling rules.'."\n" + ."\n" + .'- Deleting: The scaling group is being deleted. Scaling groups that are being deleted do not accept any requests to execute scaling rules, and their parameters cannot be modified.', '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. The scaling group cannot be deleted.'."\n" + .'- false: Deletion protection is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.', 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****', 'title' => ''], + 'GroupType' => ['description' => 'The type of instances managed by the scaling group.', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n" + .' '."\n" + .'- PRIORITY: ECS instances are scaled based on the vSwitches (VSwitchIds.N) that you specify. When an ECS instance cannot be created in the zone of the vSwitch with the highest priority, the system uses the vSwitch with the next highest priority.'."\n" + ."\n" + .'- COST_OPTIMIZED: ECS instances are created based on the unit vCPU price in ascending order. When the scaling configuration specifies multiple instance types with the spot billing method, spot instances are preferentially created. You can use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to inventory reasons.'."\n" + .' > COST_OPTIMIZED takes effect only when multiple instance types are set in the scaling configuration or spot instances are used.'."\n" + ."\n" + .'- BALANCE: ECS instances are evenly allocated across the active zones specified for the scaling group. If instances become unevenly distributed across zones due to reasons such as insufficient inventory, you can call the [RebalanceInstance](~~71516~~) operation to rebalance resources.'."\n" + .'- COMPOSABLE: A composite policy that allows you to customize a combination of the multi-zone scale-in and scale-out policies described above.', 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the pending addition state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of instances in the standby state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and have not been configured.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template used by the scaling group.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if instance type weights are configured. Otherwise, the total number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. The scaling group automatically maintains the number of ECS instances at the expected number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether supplemental spot instances are enabled. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed after receiving a reclamation notification.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template used by the scaling group.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch associated with the scaling group.', 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The default cooldown time of the scaling group. During the cooldown time, the scaling group does not execute other scaling activities. This parameter applies only to scaling activities triggered by [CloudMonitor](~~35170~~) event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VServerGroup' => [ + 'description' => 'The list of backend server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of backend server groups.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancing instance to which the backend server group belongs.', 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'VServerGroupAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VServerGroupAttribute' => [ + '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 backend server group.', 'type' => 'string', 'example' => 'rsp-bp12bjrny****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number used by the load balancing instance to serve external requests.', 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LifecycleActionToken' => [ - 'description' => 'The token of the lifecycle action.'."\n", - 'type' => 'string', - 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB', + 'LaunchTemplateOverrides' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateOverride' => [ + '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' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are needed to meet the desired capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified by `LaunchTemplateOverride.N.InstanceType`. You can specify up to N values for this parameter, corresponding to N instance types supported by the launch template override. Valid values of N: 1 to 10.'."\n" + .'>This parameter takes effect only when the `LaunchTemplateId` parameter specifies a launch template.', 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LifecycleActionStatus' => [ - 'description' => 'The status of the lifecycle action.'."\n", - 'type' => 'string', - 'example' => 'Pending', + 'AlbServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AlbServerGroup' => [ + 'description' => 'The information about ALB server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about ALB server groups.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.', 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance after Auto Scaling adds the instance to the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LifecycleActionResult' => [ - 'description' => 'The action that is performed after the lifecycle action triggered by the lifecycle hook is complete. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to scale-out requests and adds ECS instances to the scaling group, or continues to respond to scale-in requests and removes ECS instances from the scaling group.'."\n" - .'* ABANDON: Auto Scaling stops scale-out activities and releases the created ECS instances, or continues to respond to scale-in requests and removes ECS instances from the scaling group.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', + 'ServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ServerGroup' => [ + 'description' => 'The information about load balancing server groups.'."\n" + .'>You can use this parameter to retrieve information about ALB-type, NLB-type, and GWLB-type server groups associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about load balancing server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance after Auto Scaling adds the instance to the server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'InstanceIds' => [ + 'RemovalPolicies' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'InstanceId' => [ - 'description' => 'The IDs of the ECS instances to which the lifecycle hook applies.'."\n", + 'RemovalPolicy' => [ + 'description' => 'The collection of scale-in policies for ECS instances. Valid values:'."\n" + .'- OldestInstance: The earliest created ECS instance is removed.'."\n" + .'- NewestInstance: The most recently created ECS instance is removed.'."\n" + .'- OldestScalingConfiguration: The ECS instance created from the earliest scaling configuration is removed.'."\n" + .'- CustomPolicy: ECS instances are removed based on a custom scale-in policy defined by a Function Compute function.', + 'type' => 'array', + 'items' => ['description' => 'The collection of scale-in policies for ECS instances. Valid values:'."\n" + .'- OldestInstance: The earliest created ECS instance is removed.'."\n" + .'- NewestInstance: The most recently created ECS instance is removed.'."\n" + .'- OldestScalingConfiguration: The ECS instance created from the earliest scaling configuration is removed.'."\n" + .'- CustomPolicy: ECS instances are removed based on a custom scale-in policy defined by a Function Compute function.', 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DBInstanceId' => [ + 'description' => 'The ID of the RDS instance associated with the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the RDS instance associated with the scaling group.', 'type' => 'string', 'example' => 'rm-bp15556qzebg1****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'The list of load balancing instance IDs associated with the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The list of load balancing instance IDs associated with the scaling group.', 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => 'The collection of vSwitch IDs associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The collection of vSwitch IDs associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SuspendedProcess' => [ + 'description' => 'The suspended scaling processes. If no process is suspended, an empty value is returned. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.', + 'type' => 'array', + 'items' => ['description' => 'The suspended scaling processes. If no process is suspended, an empty value is returned. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.', 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling has stopped executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'- true: Auto Scaling has stopped executing scaling activities because the scaling group has failed to scale in or scale out for more than 7 consecutive days. Modify the scaling group or scaling configuration to resume the execution of scaling activities.'."\n" + ."\n" + .'- false: Auto Scaling executes scaling activities in the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group associated with the scaling group.', 'type' => 'string', 'example' => '1497****', 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether the capacity of the scaling group is evenly distributed across multiple zones. Valid values:'."\n" + .'- true: The capacity is evenly distributed across multiple zones.'."\n" + .'- false: The capacity is not evenly distributed across multiple zones.'."\n" + .'>This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. This strategy applies to both pay-as-you-go and spot capacity. Valid values:'."\n" + .'- priority: Instances are created in the order of the configured instance types.'."\n" + .'- lowestPrice: Instances are created in ascending order of the unit vCPU price of instance types.'."\n" + .'>This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`.', 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation strategy for spot capacity. You can use this parameter to separately specify the allocation strategy for spot capacity. This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of the configured instance types.'."\n" + .'- lowestPrice: Instances are created in ascending order of the unit vCPU price of instance types.', 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum amount of time that an instance can remain in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 clears the previously set MaxInstanceLifetime value (meaning MaxInstanceLifetime is not set).'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'>This parameter is not supported for ECI-type scaling groups or scaling groups with the no-charge-on-stop feature enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy Function Compute function. This parameter takes effect only when the first removal policy in RemovalPolicies is set to CustomPolicy.', '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 in the scaling group that are in the initialization state before scale-out.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.', 'type' => 'string', 'example' => 'rg-123****', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerConfig' => [ + 'description' => 'The list of load balancing CLB (formerly SLB) configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of load balancing CLB (formerly SLB) configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancing CLB (formerly SLB) instance.', 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the load balancing CLB (formerly SLB) server group. A higher weight means more access requests are allocated to the ECS instance. If the weight is 0, the ECS instance does not receive access requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the expected number of instances feature is enabled. Valid values:'."\n" + .'- true: Enabled. The expected number of instances information is returned when you query the scaling group.'."\n" + .'- false: Disabled. The expected number of instances information is not returned when you query the scaling group.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags of the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the scaling group.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tag is a propagated tag. Valid values:'."\n" + ."\n" + .'- true: The tag on the scaling group is propagated only to newly created instances, not to instances already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HealthCheckType' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: The health status of instances is determined based on the health check results of the associated load balancing instance. CLB-type load balancing instances are not', + 'type' => 'array', + 'items' => ['description' => '伸缩组的健康检查方式。可能值:'."\n" + ."\n" + .'- NONE:不做健康检查。'."\n" + .'- ECS:对伸缩组内的实例做健康检查(ECS类型和ECI类型的伸缩组均使用本取值开启实例健康检查)。'."\n" + .'- LOAD_BALANCER: 根据负载均衡(暂不支持clb负载均衡类型)健康检查结果判断实例健康状态。', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DBInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DBInstance' => [ + 'description' => 'The list of databases associated with the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', + 'description' => 'The database configuration information associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => '数据库实例ID。', 'type' => 'string', 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS.'."\n" + .'- Redis.'."\n" + .'- MongoDB.', 'type' => 'string', 'example' => 'RDS', 'title' => ''], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The list of security groups added to the database whitelist by the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'Indicates whether the scaling group removes the security groups in this list from the database security group whitelist. This parameter takes effect only when the `AttachMode` parameter in the CreateScalingGroup operation is set to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'- true: The security groups in this list are removed from the database security group whitelist.'."\n" + .'- false: The security groups in this list are not removed from the database security group whitelist.', 'type' => 'string', 'example' => 'sg-uf65zt66cf2a0q47***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SpotCapacity' => ['description' => 'The number of spot instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StopInstanceTimeout' => ['description' => 'The timeout period for waiting for ECS instances to stop during the scale-in process. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'CapacityOptions' => [ + 'description' => 'The capacity options.', + '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 in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', '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 (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go instances are automatically created to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. This parameter takes effect only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: Pay-as-you-go instances are automatically created.'."\n" + .'- false: Pay-as-you-go instances are not automatically created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace excess pay-as-you-go instances with spot instances when `CompensateWithOnDemand` is enabled and the pay-as-you-go ratio exceeds `OnDemandPercentageAboveBaseCapacity`. A common scenario is when `CompensateWithOnDemand` causes spot instances to be downgraded to pay-as-you-go instances due to spot inventory or pricing reasons. To prevent pay-as-you-go instances from persisting for a long time, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: Replacement is allowed.'."\n" + .'- false: Replacement is not allowed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- PricePerUnit: Prices are compared based on the price per unit of capacity.'."\n" + ."\n" + .' The capacity of an instance in the scaling group equals the weight configured for the instance type. The default weight is 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: Prices are compared based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'example' => 'PricePerUnit', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'BalanceMode' => ['title' => '', 'description' => 'The zone balancing mode. This parameter takes effect only when zone balancing is enabled. Valid values:'."\n" + .' '."\n" + .'- BalancedBestEffort: When resource creation fails in a zone, the system falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: When resource creation.', 'type' => 'string', 'example' => 'BalancedBestEffort'], + 'AutoRebalance' => ['title' => '', 'description' => '是否开启伸缩组自动均衡,仅当可用区均衡伸缩组开启了BalancedOnly才生效。可能值:'."\n" + .'- false:不开启伸缩组自动均衡。'."\n" + .'- true:开启伸缩组自动均衡时,伸缩组会自动检测可用区见容量,当可用区容量不均衡时,会主动进行可用区扩缩,进行可用区容量再均衡。', 'type' => 'boolean', 'example' => 'false'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": {\\n \\"LifecycleAction\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLifecycleActionsResponse>\\n <NextToken>AAAAAcSz4VTb1Nq****</NextToken>\\n <RequestId>42A742EB-FCF3-459E-9C62-E107048C17E3</RequestId>\\n <TotalCount>3</TotalCount>\\n <MaxResults>3</MaxResults>\\n <LifecycleActions>\\n <LifecycleHookId>ash-bp18uoft0deax0f7****</LifecycleHookId>\\n <LifecycleActionToken>9C2E9DA7-F794-449A-ACF6-CEE24444F7BB</LifecycleActionToken>\\n <LifecycleActionStatus>Pending</LifecycleActionStatus>\\n <LifecycleActionResult>CONTINUE</LifecycleActionResult>\\n <InstanceIds>[\\"i-bp11m3fzlqrgk5vh****\\",\\"i-bp11m3fzlqrgk5vh****\\"]</InstanceIds>\\n </LifecycleActions>\\n</DescribeLifecycleActionsResponse>","errorExample":""}]', - 'title' => 'DescribeLifecycleActions', - 'description' => '## Description'."\n" - ."\n" - .'If a scaling activity whose type is the same as the type of a lifecycle hook occurs, the lifecycle hook triggers a lifecycle action. The status of a lifecycle action can be:'."\n" - ."\n" - .'* Pending: Elastic Compute Service (ECS) instances in the scaling group enter the Pending state.'."\n" - .'* Timeout: The lifecycle hook times out. ECS instances in the scaling group are automatically removed from the Pending state.'."\n" - .'* Completed: ECS instances are manually removed from the Pending state.'."\n" - ."\n" - .'If you do not specify the subsequent actions when you create a lifecycle hook, such as triggering the execution of a specific Operation Orchestration Service (OOS) template after the ECS instances are removed from the Pending state, you can call this operation to obtain the token of the lifecycle action that corresponds to the scaling activity. This helps you specify the subsequent actions.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": {\\n \\"ScalingGroup\\": [\\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 \\"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 \\"VServerGroup\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": {\\n \\"VServerGroupAttribute\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ]\\n },\\n \\"AlbServerGroups\\": {\\n \\"AlbServerGroup\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"ServerGroups\\": {\\n \\"ServerGroup\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"RemovalPolicies\\": {\\n \\"RemovalPolicy\\": [\\n \\"OldestScalingConfiguration\\"\\n ]\\n },\\n \\"DBInstanceIds\\": {\\n \\"DBInstanceId\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ]\\n },\\n \\"SuspendedProcesses\\": {\\n \\"SuspendedProcess\\": [\\n \\"ScaleIn\\"\\n ]\\n },\\n \\"SystemSuspended\\": true,\\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 \\"LoadBalancerConfig\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"Weight\\": 10\\n }\\n ]\\n },\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ]\\n },\\n \\"HealthCheckTypes\\": {\\n \\"HealthCheckType\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"DBInstances\\": {\\n \\"DBInstance\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\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 }\\n}","type":"json"}]', + 'title' => 'Query scaling groups', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeLifecycleHooks' => [ - 'summary' => '查询生命周期挂钩详情', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingGroups'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DescribeScalingInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13648,84 +11249,140 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '92675', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92684', + '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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + '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 or ECI instance in the scaling group. ECS instances or ECI instances that are not in the Running state are considered unhealthy. Valid values:'."\n" + ."\n" + .'- Healthy: The ECS instance or ECI instance is healthy.'."\n" + .'- Unhealthy: The ECS instance or ECI instance is unhealthy.'."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances or ECI instances from the scaling group and releases the ones created through automatic creation.'."\n" + ."\n" + .'Whether manually added ECS instances or ECI instances are released depends on their managed status. 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" + .'> Ensure that your account has sufficient active quota. If your account has an overdue payment, all pay-as-you-go ECS instances or ECI instances, including pay-as-you-go and spot instances, are stopped or even released. For more information about how instance status changes after an overdue payment, see [Overdue payments](~~170589~~).', 'type' => 'string', 'required' => false, 'example' => 'Healthy', 'title' => ''], + ], + [ + 'name' => 'LifecycleState', + 'in' => 'query', + 'schema' => ['description' => 'The lifecycle state of the ECS instance, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also 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 instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The 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 instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also 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 instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], + ], + [ + 'name' => 'CreationType', + 'in' => 'query', + 'schema' => ['description' => 'The method used to create instances in the scaling group. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance or ECI instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\n" + .'- Attached: The ECS instance or ECI 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 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', - ], + 'schema' => ['description' => 'The page number. Pages start from page 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 the paged query. Maximum value: 100.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', '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' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + 'description' => 'The ID of the instance in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance in the scaling group. Valid values of N: 1 to 20.'."\n" ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], 'required' => false, - 'example' => '50', + 'example' => 'i-bp109k5j3dum1ce6****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'LifecycleHookId', + 'name' => 'CreationTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", + '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 ID of lifecycle hook N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp1at9ufhmcf9cmy****', - ], + 'items' => ['description' => 'The method used to create instances in the scaling group. You cannot specify this parameter and CreationType at the same time. Valid values:'."\n" + .'- AutoCreated: The ECS instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\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.'."\n" + .'> When you specify this parameter, you can select multiple creation methods, such as AutoCreated, Attached, and Managed.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], 'required' => false, - 'example' => 'ash-bp19d1032y9kij96****', - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'LifecycleStates', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The list of lifecycle states of ECS instances, ECI instances, or managed 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, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + ."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also 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 instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The 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 instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also 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 instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], 'required' => false, - 'example' => 'cn-beijing', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -13734,298 +11391,222 @@ 'schema' => [ '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' => [ + '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 scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingInstances' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'LifecycleHook' => [ - 'description' => 'Details of the lifecycle hooks.'."\n", + 'ScalingInstance' => [ + 'description' => 'The collection of instance information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The collection of instance information.', 'type' => 'object', 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The action that Auto Scaling performs when 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. Auto Scaling sends the notification when the lifecycle hook takes effect.'."\n", - 'type' => 'string', - 'example' => 'Test Lifecycle Hook.', - ], - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the method that is used by Auto Scaling to send notifications when the lifecycle hook takes effect. Specify the value 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 Message Service (MNS) queue as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an MNS topic as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - .'* If you specify an Operation Orchestration Service (OOS) template as the notification method, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" - ."\n" - .'The variables in the preceding parameter 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 MNS queue.'."\n" - .'* topicname: the name of the MNS 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 during which the lifecycle hook is in effect. Auto Scaling performs the default action when the lifecycle hook times out.'."\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'."\n" - .'* InActive'."\n", - 'type' => 'string', - 'example' => 'Active', - ], + 'CreationTime' => ['description' => 'The time when the 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.', '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 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 or ECI instance in the scaling group. ECS instances or ECI instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance or ECI instance is healthy.'."\n" + .'- Unhealthy: The ECS instance or ECI instance is unhealthy.'."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances or ECI instances from the scaling group and releases the ones created through automatic creation.'."\n" + ."\n" + .'Whether manually added ECS instances or ECI instances are released depends on their managed status. 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" + .'> Ensure that your account has sufficient active quota. If your account has an overdue payment, all pay-as-you-go ECS instances or ECI instances, including pay-as-you-go and spot instances, are stopped or even released. For more information about how instance status changes after an overdue payment, 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 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, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also 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 instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The 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 instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also 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 instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'example' => 'InService', 'title' => ''], + 'CreationType' => ['description' => 'The method used to create the instance in the scaling group. Valid values:'."\n" + ."\n" + .'- AutoCreated: The ECS instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\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', 'example' => 'AutoCreated', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the 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. Managed instances that are manually added are released when they are 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 the specified 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 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 instance was added to the scaling group.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the instance.', 'type' => 'string', 'example' => 'ecs.n1.small', 'title' => ''], + 'ScalingInstanceId' => ['description' => 'The instance identity of the instance in the scaling group, which has a one-to-one mapping with the ECS instance ID or ECI instance ID.', 'type' => 'string', 'example' => 'asi-j6cj1gcte640ekhb****', 'title' => ''], + 'PrivateIpAddress' => ['description' => 'The internal 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' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": {\\n \\"LifecycleHook\\": [\\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 }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLifecycleHooksResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <LifecycleHooks>\\n <DefaultResult>CONTINUE</DefaultResult>\\n <LifecycleHookId>ash-bp19d1032y9kij96****</LifecycleHookId>\\n <LifecycleHookName>lifecyclehook****</LifecycleHookName>\\n <LifecycleTransition>SCALE_OUT</LifecycleTransition>\\n <NotificationMetadata>Test Lifecycle Hook.</NotificationMetadata>\\n <NotificationArn>acs:ess:cn-beijing:161456884340****:null/null</NotificationArn>\\n <HeartbeatTimeout>60</HeartbeatTimeout>\\n <ScalingGroupId>asg-bp1igpak5ft1flyp****</ScalingGroupId>\\n <LifecycleHookStatus>Active</LifecycleHookStatus>\\n </LifecycleHooks>\\n</DescribeLifecycleHooksResponse>","errorExample":""}]', - 'title' => 'DescribeLifecycleHooks', - 'description' => '## Description'."\n" - ."\n" - .'You can use one of the following methods to query lifecycle hooks:'."\n" - ."\n" - .'* Specify a list of lifecycle hook IDs by using the LifecycleHookId.N parameter. In this case, you do not need to specify the ScalingGroupId and LifecycleHookName parameters.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter.'."\n", + 'title' => 'Query instances in a scaling group', + 'summary' => 'Queries the list of ECS instances, ECI instances, or managed instances in a scaling group, and returns information about the instances.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'RecordLifecycleActionHeartbeat' => [ - 'summary' => '延长生命周期挂钩触发后ECS实例被挂起等待时间', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingInstances'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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 \\"ScalingInstance\\": [\\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 \\"InstanceType\\": \\"ecs.n1.small\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\",\\n \\"ReplaceStatus\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeScalingRules' => [ + 'summary' => 'Queries the scaling rules in a scaling group and returns information about the scaling rules.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92713', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92685', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ - 'name' => 'lifecycleHookId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling rules belong.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'lifecycleActionToken', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that indicates the pending state of a scaling activity. You can obtain this token by using a Message Service (MNS) queue or an MNS topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'F324B880-900E-4968-85DD-81691113****', - ], + 'schema' => ['description' => 'The page number of the scaling rule list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'heartbeatTimeout', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the lifecycle hook. When the lifecycle hook times out, Auto Scaling performs the default action. Unit: seconds. Valid values: 30 to 21600.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to extend the timeout period of the lifecycle hook. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end the timeout period of the lifecycle hook in advance.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The number of entries per page for paging queries. Settings: maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\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', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<RecordLifecycleActionHeartbeatResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</RecordLifecycleActionHeartbeatResponse>","errorExample":""}]', - 'title' => 'RecordLifecycleActionHeartbeat', - 'description' => '## Description'."\n" - ."\n" - .'You can call the operation up to 20 times to extend the timeout period of a lifecycle hook. However, the total length of the timeout period cannot exceed 6 hours because an ECS instance cannot be in the pending state for more than 6 hours.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CompleteLifecycleAction' => [ - 'summary' => '提前结束伸缩活动的等待状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92652', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], - ], - 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp14g3ee6bt3sc98****', - ], + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling. Adjusts the number of ECS instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS instances to scale out or scale in based on the predefined monitoring metric (MetricName) and attempts to keep the monitoring metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides step-based extension based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze historical monitoring data of the scaling group, predict future monitoring metric values, and supports automatic creation of scheduled nodes to configure scaling group boundaries.', 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule', 'title' => ''], ], [ - 'name' => 'LifecycleActionToken', + 'name' => 'ShowAlarmRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the lifecycle hook. You can obtain the token by using a Message Service (MNS) queue or an MNS topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aaaa-bbbbb-cccc-ddddd', - ], + 'schema' => ['description' => 'Specifies whether to return the CloudMonitor event-triggered tasks associated with the scaling rules. Valid values:'."\n" + ."\n" + .'- true: Returns the CloudMonitor event-triggered tasks associated with the scaling rules.'."\n" + .'- false: Does not return the CloudMonitor event-triggered tasks associated with the scaling rules.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LifecycleActionResult', + 'name' => 'ScalingRuleId', 'in' => 'query', + 'style' => 'repeatList', '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 subsequent action only after the last lifecycle hook times out. The action that is performed by Auto Scaling varies based on the value that you specified for the LifecycleActionResult parameter of the last lifecycle hook that times out.'."\n", - 'type' => 'string', + 'description' => 'The ID of scaling rule N that you want to query. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The ID of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], 'required' => false, - 'example' => 'CONTINUE', + 'example' => 'asr-bp1dvirgwkoowxk7****', + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'ScalingRuleName', 'in' => 'query', + 'style' => 'repeatList', '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.'."\n" - ."\n" - .'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', + 'description' => 'The name of scaling rule N that you want to query. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The name of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'example' => 'scalingrule****', + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleAri', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The unique identifier of scaling rule N that you want to query. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The unique identifier of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], 'required' => false, - 'example' => 'cn-qingdao', + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + 'maxItems' => 10, + 'title' => '', ], ], ], @@ -14034,126 +11615,420 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + '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 rules.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingRule' => [ + 'description' => 'The collection of scaling rule information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling rule information.', + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules.'."\n" + ."\n" + .'Valid values for target tracking scaling rules:'."\n" + .'- CpuUtilization: the average CPU utilization.'."\n" + .'- ClassicInternetRx: the average inbound traffic over the public network for the classic network.'."\n" + .'- ClassicInternetTx: the average outbound traffic over the public network for the classic network.'."\n" + .'- VpcInternetRx: the average inbound traffic over the public network for VPCs.'."\n" + .'- VpcInternetTx: the average outbound traffic over the public network for VPCs.'."\n" + .'- IntranetRx: the average inbound traffic over the internal network.'."\n" + .'- IntranetTx: the average outbound traffic over the internal network.'."\n" + ."\n" + .'Valid values for predictive scaling rules:'."\n" + .'- CpuUtilization: the average CPU utilization.'."\n" + .'- IntranetRx: the average inbound traffic over the internal network.'."\n" + .'- IntranetTx: the average outbound traffic over the internal network.', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'AdjustmentType' => ['description' => 'The adjustment method of the scaling rule. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified value.', 'type' => 'string', 'example' => 'QuantityChangeInCapacity', 'title' => ''], + 'InitialMaxSize' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used in combination with PredictiveValueBehavior.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'EstimatedInstanceWarmup' => ['description' => 'The warm-up period of a newly created instance. During the warm-up period, the launched instance does not contribute to the monitoring metrics of the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'ScaleOutEvaluationCount' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created through automatic creation. This parameter specifies the number of consecutive times that the conditional threshold must be met before the corresponding scale-out event-triggered node triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PredictiveScalingMode' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.', 'type' => 'string', 'example' => 'PredictAndScale', 'title' => ''], + 'MinAdjustmentMagnitude' => ['description' => 'The minimum number of instances to adjust in the scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule` and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'PredictiveTaskBufferTime' => ['description' => 'The prediction nodes through automatic creation by the predictive scaling rule are executed on the hour by default. You can configure the settings for a buffer time to execute prediction nodes ahead of schedule to prepare resources in advance. Valid values: 0 to 60. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], + 'PredictiveValueBehavior' => ['description' => 'The action on the predicted maximum value. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified ratio. The predicted value is increased by the ratio specified by PredictiveValueBuffer. If the increased value is greater than the initial maximum value, the increased value is used.', 'type' => 'string', 'example' => 'MaxOverridePredictiveValue', 'title' => ''], + 'TargetValue' => ['description' => 'The target value. When the scaling rule is a target tracking scaling rule or a predictive scaling rule, the scaling rule adds or removes instances to keep the metric close to the target value.', 'type' => 'number', 'format' => 'float', 'example' => '0.125', 'title' => ''], + 'Cooldown' => ['description' => 'The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PredictiveValueBuffer' => ['description' => 'This parameter takes effect when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. The predicted value is increased by the specified ratio. If the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'ScalingRuleType' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling. Adjusts the number of ECS instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS instances to scale out or scale in based on the predefined monitoring metric (MetricName) and attempts to keep the monitoring metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides step-based extension based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze historical monitoring data of the scaling group, predict future monitoring metric values, and supports automatic creation of scheduled nodes to configure scaling group boundaries.', 'type' => 'string', 'example' => 'SimpleScalingRule', 'title' => ''], + 'AdjustmentValue' => ['description' => 'The adjustment value of the scaling rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleInEvaluationCount' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created through automatic creation. This parameter specifies the number of consecutive times that the conditional threshold must be met before the corresponding scale-in event-triggered node triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'DisableScaleIn' => ['description' => 'Indicates whether scale-in is disabled. This parameter is applicable only to target tracking scaling rules. Valid values:'."\n" + ."\n" + .'- true: Scale-in is disabled.'."\n" + .'- false: Scale-in is allowed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingRuleName' => ['description' => 'The name of the scaling rule.', 'type' => 'string', 'example' => 'scalingrule****', 'title' => ''], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule.', 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'Alarms' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Alarm' => [ + 'description' => 'The CloudMonitor event-triggered tasks associated with the scaling rule. Event-triggered tasks are returned only when the ShowAlarmRules parameter is set to true. Otherwise, an empty list is returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The CloudMonitor event-triggered tasks associated with the scaling rule. Event-triggered tasks are returned only when the ShowAlarmRules parameter is set to true. Otherwise, an empty list is returned.', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the metric for the event-triggered task associated with the scaling rule. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + .'- The statistical value is less than the threshold. Value: <.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'MetricName' => ['description' => 'The name of the metric for the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold expression must be met before the event-triggered task associated with the scaling rule enters the alert state.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AlarmTaskName' => ['description' => 'The name of the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'alarmtask****', 'title' => ''], + 'MetricType' => ['description' => 'The type of the event-triggered task associated with the scaling rule. Valid values:'."\n" + ."\n" + .'- system: system monitoring event-triggered task.'."\n" + .'- custom: custom monitoring event-triggered task.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Threshold' => ['description' => 'The alert threshold of the event-triggered task associated with the scaling rule.', 'type' => 'number', 'format' => 'float', 'example' => '50', 'title' => ''], + 'Statistics' => ['description' => 'The statistical method of the event-triggered task associated with the scaling rule. Valid values:'."\n" + ."\n" + .'- Average: the average value.'."\n" + .'- Maximum: the maximum value.'."\n" + .'- Minimum: the minimum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The dimension information of the event-triggered task associated with the scaling rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information of the event-triggered task associated with the scaling rule.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the event-triggered task associated with the metric. Valid values:'."\n" + ."\n" + .'- scaling_group: the scaling group ID.'."\n" + .'- userId: the user account ID.', 'type' => 'string', 'example' => 'scaling_group', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the event-triggered task associated with the metric.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Period' => ['description' => 'The statistical period for monitoring data in the target tracking scaling rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StepAdjustments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StepAdjustment' => [ + 'description' => 'The step adjustments of the step scaling rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'The step adjustments of the step scaling rule.', + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper bound of the step adjustment. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale for the step adjustment.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower bound of the step adjustment. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'example' => '1.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'AlarmDimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AlarmDimension' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information, such as the `rulePool` dimension for the `LoadBalancerRealServerAverageQps` metric.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information, such as the `rulePool` dimension for the `LoadBalancerRealServerAverageQps` metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key associated with the metric.', 'type' => 'string', 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value associated with the metric.', 'type' => 'string', 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'MetricType' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage monitoring metrics repositories, see [Manage monitoring metrics repositories](~~217606~~).', 'type' => 'string', 'example' => 'aliyun-test', 'title' => ''], + 'HybridMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HybridMetric' => [ + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information, see [Use formula-based custom target tracking scaling rules](~~2852162~~).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling. The expression must comply with the Reverse Polish Notation (RPN) specification and supports only the `+ - * /` operators.', 'type' => 'string', 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metric in the Hybrid Cloud Monitoring monitoring metrics repository.', 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum of all data points within the specified interval.'."\n" + .'- Maximum: the maximum of all data points within the specified interval.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The metric dimension. Specifies the resource to be monitored by the metric.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric.', 'type' => 'string', 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric.', 'type' => 'string', 'example' => 'testQueue', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CompleteLifecycleActionResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CompleteLifecycleActionResponse>","errorExample":""}]', - 'title' => 'CompleteLifecycleAction', - 'description' => '## Usage notes'."\n" - ."\n" - .'If you set the **LifecycleActionResult** parameter for a lifecycle hook of a scaling group to **CONTINUE** in the operation, Auto Scaling continues to complete the scaling activity in the scaling group after the lifecycle hook times out. If you set the **LifecycleActionResult** parameter to **ABANDON**, Auto Scaling stops the scaling activity in the scaling group after the lifecycle hook times out.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": {\\n \\"ScalingRule\\": [\\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 \\"Alarm\\": [\\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 \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ]\\n },\\n \\"Period\\": 60\\n }\\n ]\\n },\\n \\"StepAdjustments\\": {\\n \\"StepAdjustment\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ]\\n },\\n \\"AlarmDimensions\\": {\\n \\"AlarmDimension\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2****\\"\\n }\\n ]\\n },\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scaling rules', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'CreateNotificationConfiguration' => [ - 'summary' => '创建弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingRules'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DescribeScheduledTasks' => [ + 'summary' => 'Queries information about scheduled tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92656', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92686', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group to which the scheduled task belongs.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the scheduled task 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.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group that executes the scheduled task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1bo5tca4m56nap****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ScheduledAction', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is an MNS queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" + 'description' => 'The scaling rule used when the scheduled task is triggered. This parameter is returned only when the scheduled task specifies a scaling rule.', + 'type' => 'array', + 'items' => ['description' => 'The scaling rule used when the scheduled task is triggered. This parameter is returned only when the scheduled task specifies a scaling rule. Valid values of N: 0 to 20.'."\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 MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + .'The value is the unique identifier of the scaling rule (ScalingRuleAri).', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', 'title' => ''], + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'NotificationType', + 'name' => 'ScheduledTaskId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the values of this parameter.', + 'description' => 'The ID of the scheduled task to query.', 'type' => 'array', - 'items' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the values of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - 'required' => true, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - 'maxItems' => 12, + 'items' => ['description' => 'The ID of the scheduled task to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'required' => false, + 'example' => 'edRtShc57WGXdt8TlPbr****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ScheduledTaskName', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', + 'description' => 'The name of the scheduled task to query.', + 'type' => 'array', + 'items' => ['description' => 'The name of the scheduled task to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], 'required' => false, - 'example' => 'cn-beijing', + 'example' => 'scheduled****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'TimeZone', + 'name' => 'TaskName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The task name. Fuzzy match by keyword is supported.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], ], [ - 'name' => 'MessageEncoding', + 'name' => 'RecurrenceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The recurrence type of the scheduled task. Valid values:'."\n" + ."\n" + .'- Daily: The scheduled task is executed every specified number of days.'."\n" + .'- Weekly: The scheduled task is executed on specified days of each week.'."\n" + .'- Monthly: The scheduled task is executed on specified days of each month.'."\n" + .'- Cron: The scheduled task is executed based on a specified cron expression.', 'type' => 'string', 'required' => false, 'example' => 'Weekly', 'title' => ''], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence value of the scheduled task.'."\n" + ."\n" + .'This parameter is supported only when RecurrenceType is set to Weekly. You can specify multiple values separated by commas (,). For example, the values for Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.', 'type' => 'string', 'required' => false, 'example' => '1,2,3', 'title' => ''], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the scheduled task is enabled.'."\n" + ."\n" + .'- true: The task is enabled.'."\n" + .'- false: The task is disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -14161,85 +12036,153 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + '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 scheduled tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScheduledTasks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScheduledTask' => [ + 'description' => 'The collection of scheduled task information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scheduled task information.', + 'type' => 'object', + 'properties' => [ + 'TaskEnabled' => ['description' => 'Indicates whether the scheduled task is enabled. '."\n" + .'- true: The task is enabled.'."\n" + .'- false: The task is disabled.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RecurrenceValue' => ['description' => 'The recurrence value of the scheduled task.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RecurrenceType' => ['description' => 'The recurrence type of the scheduled task.', 'type' => 'string', 'example' => 'Daily', 'title' => ''], + 'MaxValue' => ['description' => 'The maximum number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ScheduledTaskName' => ['description' => 'The name of the scheduled task.', 'type' => 'string', 'example' => 'scheduled****', 'title' => ''], + 'RecurrenceEndTime' => ['description' => 'The end time of the recurrence of the scheduled task.', 'type' => 'string', 'example' => '2014-08-20T16:55Z', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ScheduledTaskId' => ['description' => 'The ID of the scheduled task.', 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'MinValue' => ['description' => 'The minimum number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group that executes the scheduled task.', 'type' => 'string', 'example' => 'asg-bp1bo5tca4m56nap****', 'title' => ''], + 'LaunchExpirationTime' => ['description' => 'The time period during which a retry is performed after the scheduled task fails to be triggered. Unit: seconds. Valid values: 0 to 21600.', 'type' => 'integer', 'format' => 'int32', 'example' => '600', 'title' => ''], + 'Description' => ['description' => 'The description of the scheduled task.', 'type' => 'string', 'example' => 'Test scheduled task.', 'title' => ''], + 'ScheduledAction' => ['description' => 'The scaling rule used when the scheduled task is executed. This parameter is returned only when the scheduled task specifies a scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', 'title' => ''], + 'LaunchTime' => ['description' => 'The point in time at which the scheduled task is triggered.', 'type' => 'string', 'example' => '2014-08-18T10:52Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateNotificationConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CreateNotificationConfigurationResponse>","errorExample":""}]', - 'title' => 'CreateNotificationConfiguration', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": {\\n \\"ScheduledTask\\": [\\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 }\\n}","type":"json"}]', + 'title' => 'Query scheduled task information', + 'description' => '## Operation description'."\n" ."\n" - .'You can configure CloudMonitor system events, Message Service (MNS) queues, or MNS topics to receive notifications. When a specified type of scaling activity or resource change occurs in a scaling group, Auto Scaling notifies CloudMonitor or MNS.'."\n", + .'You can query scheduled tasks by scheduled task ID, scheduled task name, or scaling rule associated with the scheduled task.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteNotificationConfiguration' => [ - 'summary' => '删除一条弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScheduledTasks'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DetachAlbServerGroups' => [ + 'summary' => 'Removes one or more Application Load Balancer (ALB) server groups from a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92665', - 'abilityTreeNodes' => [ - 'FEATUREessJ2FJEV', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92688', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group, such as ap-southeast-1. For more information, see [Regions and zones](~~40654~~).', '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, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\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 MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', - ], + '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.'."\n" + ."\n" + .'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', + 'name' => 'ForceDetach', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove existing ECS instances from the ALB server groups to be detached.'."\n" + ."\n" + .'- true: removes the instances and returns a ScalingActivityId. You can check the scaling activity ID to determine whether the existing instances are removed.'."\n" + ."\n" + .'- false: does not remove the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'AlbServerGroup', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', + 'description' => 'The list of ALB server groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group. N specifies the sequence number of the ALB server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Port' => ['description' => 'The port number used by ECS instances in the ALB server group. N specifies the sequence number of the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -14248,126 +12191,108 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the ALB server groups are removed along with the ECS instances in the ALB server groups. This parameter is returned only when ForceDetach is set to true.', 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteNotificationConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</DeleteNotificationConfigurationResponse>","errorExample":""}]', - 'title' => 'DeleteNotificationConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteNotificationConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more ALB server groups', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ModifyNotificationConfiguration' => [ - 'summary' => '修改一条弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|AlbServerGroup.NotAttached|The ALB server groups are not attached to specific ScalingGroup.|The specified ALB server groups are not attached to the scaling group.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachAlbServerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DetachDBInstances' => [ + 'summary' => 'Removes one or more ApsaraDB RDS instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92707', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'abilityTreeCode' => '92689', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the ID of the region where the scaling group resides.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', - ], + 'schema' => ['description' => 'Specifies whether to remove the private IP addresses of instances in the scaling group from the IP whitelist of the RDS instance when the RDS instance is removed from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Removes the private IP addresses.'."\n" + ."\n" + .'- false: Does not remove the private IP addresses.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'NotificationType', + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'DBInstance', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the value of this parameter.', + 'description' => 'The ID of the RDS instance. You can remove up to five RDS instances at a time.', 'type' => 'array', - 'items' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the value of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], + 'items' => ['description' => 'The ID of the RDS instance. You can remove up to five RDS instances at a time.', 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3****', 'title' => ''], 'required' => true, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - 'maxItems' => 12, + 'example' => 'rm-bp12cy3****', + 'maxItems' => 5, + 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'TimeZone', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'MessageEncoding', + 'name' => 'RemoveSecurityGroup', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to remove the security group whitelist that was added when the scaling group was associated with the database. This parameter takes effect only for databases whose `AttachMode` parameter is set to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'- true: Removes the security group ID that was added when the scaling group was associated with the database.'."\n" + .'- false: Does not remove the security group ID that was added when the scaling group was associated with the database.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -14375,69 +12300,133 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyNotificationConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyNotificationConfigurationResponse>","errorExample":""}]', - 'title' => 'ModifyNotificationConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ModifyNotificationConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more RDS instances', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeNotificationConfigurations' => [ - 'summary' => '查询弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidDBInstanceId.NotFound|DB instance "%s" does not exist.|The specified RDS instance does not exist.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDBInstances'], + ], ], + ], + 'DetachInstances' => [ + 'summary' => 'Removes one or more ECS instances from a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92677', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '92690', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to modify the expected number of instances. Valid values:'."\n" + ."\n" + .'- true: After the ECS instances, elastic container instances, or managed instances are removed from the scaling group, the expected number of instances is decreased by the corresponding amount.'."\n" + .'- false: After the ECS instances, elastic container instances, or managed instances are removed from the scaling group, the expected number of instances 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 removing a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is removed from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`) and the valid instances are successfully removed, the scaling activity execute status is displayed as `Warning`. You can view the invalid instances in the scaling activity details.'."\n" + .'- false: Invalid instances are not ignored when a batch of instances is removed from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`), an error is returned.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'DetachOption', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to stop using ECS instances or elastic container instances as backend servers of the associated load balancing instance (that is, remove the ECS instances or elastic container instances from the default server group and virtual server group of the load balancing instance), and whether to remove the ECS instances or elastic container instances from the access whitelist of the associated ApsaraDB RDS instance.'."\n" + ."\n" + .'both: removes the ECS instances or elastic container instances from the default server group and virtual server group of the load balancing instance, and removes the ECS instances or elastic container instances from the access whitelist of the ApsaraDB RDS instance.'."\n" + ."\n" + .'> Settings for this parameter are not supported when managed instances are removed from the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'both', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The ID of the ECS instance, elastic container instance, or managed instance to be removed.', + 'type' => 'array', + 'items' => ['description' => 'Instance ID of the ECS instance, elastic container instance, or managed instance to be removed. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Instance ID of the ECS instance to be removed is `i-bp109k5j3dum1ce6****`.'."\n" + .'- Instance ID of the elastic container instance to be removed is `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to be removed is `mi-d23fsd******`.'."\n" + .'> Only one type of instance can be removed in a single request.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + 'example' => 'i-bp109k5j3dum1ce6****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'LifecycleHook', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'Specifies whether to trigger the scale-in lifecycle hook when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n" + .'- true: triggers the lifecycle hook.'."\n" + .'- false: does not trigger the lifecycle hook.'."\n" + .'> This parameter is not supported when managed instances are removed from the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'required' => false, '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 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' => ''], ], ], 'responses' => [ @@ -14445,173 +12434,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'NotificationConfigurationModels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationConfigurationModel' => [ - 'description' => 'The details of the notifications for scaling activities or resource changes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\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 MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'NotificationTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationType' => [ - 'description' => 'The types of notifications for scaling activities or resource changes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The types of notifications for scaling activities or resource changes.', - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', - ], - ], - ], - ], - 'TimeZone' => [ - 'type' => 'string', - ], - 'MessageEncoding' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NotificationConfigurationModels\\": {\\n \\"NotificationConfigurationModel\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ]\\n },\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeNotificationConfigurationsResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n <NotificationConfigurationModels>\\n <NotificationArn>acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****</NotificationArn>\\n <ScalingGroupId>asg-bp1igpak5ft1flyp****</ScalingGroupId>\\n <NotificationTypes>AUTOSCALING:SCALE_IN_SUCCESS</NotificationTypes>\\n </NotificationConfigurationModels>\\n</DescribeNotificationConfigurationsResponse>","errorExample":""}]', - 'title' => 'DescribeNotificationConfigurations', - 'description' => '## Debugging'."\n" + '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-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more ECS instances from a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you call this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the **Enabled** state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeNotificationConfigurations\\&type=RPC\\&version=2014-08-28)'."\n", + .' > If no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + ."\n" + .'- Take note of the following items:'."\n" + .' - After an ECS instance, an elastic container instance, or a managed instance is removed from a scaling group, the instance continues to exist independently. You can call the [AttachInstances](~~25954~~) operation to add the ECS instance, elastic container instance, or managed instance to another scaling group.'."\n" + .' - Calling this operation to remove an ECS instance, an elastic container instance, or a managed instance does not stop or release the instance.'."\n" + .' - After the operation is called, it only indicates that Auto Scaling has accepted the request. A scaling activity can be triggered, but the success of the scaling activity is not guaranteed. You must check the status of the scaling activity based on the returned ScalingActivityId.'."\n" + .' - The number of ECS instances, elastic container instances, or managed instances in the scaling group minus the number of instances being removed cannot be less than the minimum number of instances (MinSize) in the scaling group. Otherwise, an error is returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeNotificationTypes' => [ - 'summary' => '查询弹性伸缩事件及资源变化通知的类型', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92678', - '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-A3DC0DE3C83E', - ], - 'NotificationTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationType' => [ - 'description' => 'The types of notifications for scaling activities and resource changes.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out event is successful.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in event is successful.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out event fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in event fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The scaling activity is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out event is started.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in event is started.'."\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 notifications for scaling activities and resource changes.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out event is successful.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in event is successful.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out event fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in event fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The scaling activity is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out event is started.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in event is started.'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.', - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - ], - ], - ], + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group must be in the Enabled state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|No scaling activity can be in progress in the scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The load balancing instance associated with the scaling group must be in the Active state.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group must be in the Running state.|'."\n" + .'|400|IncorrectCapacity.MinSize|To remove the instances, the total capacity will be lesser than the MinSize.|The number of ECS instances or elastic container instances in the scaling group minus the number of instances being removed cannot be less than the minimum number of instances (MinSize) in the scaling group.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to call the DetachInstances operation.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or elastic container instance does not exist.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachInstances'], + ], + ], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeNotificationTypesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <NotificationTypes>AUTOSCALING:SCALE_OUT_SUCCESS</NotificationTypes>\\n</DescribeNotificationTypesResponse>","errorExample":""}]', - 'title' => 'DescribeNotificationTypes', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeNotificationTypes\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'SetInstancesProtection' => [ - 'summary' => '开始或停止保护伸缩组内ECS实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DetachLoadBalancers' => [ + 'summary' => 'Removes one or more load balancing instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14619,123 +12506,187 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92719', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92691', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'ProtectedFromScaleIn', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable protection for an ECS instance to prevent the ECS instance from being stopped or removed from the scaling group during scale-in events. Valid values:'."\n" - ."\n" - .'* true: enables protection for the ECS instance.'."\n" - .'* false: disables protection for the ECS instance.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to remove ECS instances that belong to the current scaling group from the backend servers of the load balancing instance after the load balancing instance is removed. Valid values:'."\n" + ."\n" + .'- true: Removes the ECS instances.'."\n" + ."\n" + .'- false: Does not remove the ECS instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'InstanceId', + '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.'."\n" + ."\n" + .'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' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use asynchronous invocation when removing load balancing instances. Asynchronous invocation ensures the transactional nature of the operation, which means that either all operations execute successfully or none of the operations take effect if one fails. Use asynchronous invocation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Asynchronous invocation. The request returns the ID of the scaling activity.'."\n" + ."\n" + .'- false: Synchronous call.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'LoadBalancer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of ECS instance N. Valid values of N: 1 to 20.', + 'description' => 'The ID of the load balancing instance. You can remove up to five load balancing instances at a time.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of ECS instance N. Valid values of N: 1 to 20.'."\n", - 'example' => 'i-28wt4****', - ], + 'items' => ['description' => 'The ID of the load balancing instance. You can remove up to five load balancing instances at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs****', 'title' => ''], 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 20, + 'example' => 'lb-2zeur05gfs****', + 'maxItems' => 5, + 'title' => '', ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This value is returned only when `Async=true`. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned scaling activity ID and check the execution status of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetInstancesProtectionResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</SetInstancesProtectionResponse>","errorExample":""}]', - 'title' => 'SetInstancesProtection', - 'description' => '## Description'."\n" - ."\n" - .'After an ECS instance is put into the Protected state, the following limits apply to the instance:'."\n" - ."\n" - .'* The instance remains in the Protected state until you remove the instance from the Protected state.'."\n" - .'* Even if a scale-in event is triggered for a scaling group due to a change in the number of ECS instances or due to an event-triggered task, Auto Scaling does not remove the ECS instances in the Protected state. You must remove the ECS instance from the Protected state before Auto Scaling can remove the ECS instance from the scaling group and release the instance. For information about how to remove an ECS instance from a scaling group, see [Remove an ECS instance from a scaling group](~~25955~~).'."\n" - .'* When the ECS instance is stopped or restarted, the health status of the instance remains unchanged.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more load balancing instances', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'SetInstanceHealth' => [ - 'summary' => '设置伸缩组内ECS实例的健康状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to invoke API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The Load Balancer "%s" does not exist.|The specified load balancing instance does not exist in the scaling group.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLoadBalancers'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DetachServerGroups' => [ + 'summary' => 'Removes one or more load balancing server groups from a scaling group. Supported server group types include Application Load Balancer (ALB) and Network Load Balancer (NLB).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92718', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166341', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an ECS instance in a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp1ap6bro51a7fsa****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HealthStatus', + 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The scaling group ID.', '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove ECS instances or elastic container instances in the current scaling group from the server groups to be removed. Valid values:'."\n" + ."\n" + .'- true: Removes the instances.'."\n" + ."\n" + .'- false: Does not remove the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ServerGroup', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The health status of an ECS instance. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n", - 'type' => 'string', + 'description' => 'The information about the load balancing server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the load balancing server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the load balancing server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-1gv2uidn2msy****', 'title' => ''], + 'Type' => ['description' => 'The type of the load balancing server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Port' => ['description' => 'The port number used by ECS instances or elastic container instances in the load balancing server group.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. This parameter cannot be configured for GWLB load balancing server groups. Settings default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'example' => 'Healthy', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -14744,33 +12695,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B755AE57-6093-43E4-938E-DEA422A9B10F', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when ECS instances or elastic container instances are removed from the load balancing server group along with the server group removal.'."\n" + ."\n" + .'> This parameter is returned only when ForceDetach is set to true.', 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetInstanceHealthResponse>\\n <RequestId>B755AE57-6093-43E4-938E-DEA422A9****</RequestId>\\n</SetInstanceHealthResponse>","errorExample":""}]', - 'title' => 'SetInstanceHealth', - 'description' => '## Description'."\n" - ."\n" - .'Auto Scaling performs health checks on ECS instances in a scaling group and removes unhealthy ECS instances. If you want to reserve an ECS instance, you can switch the ECS instance to the Standby or Protected state. For more information, see [EnterStandby](~~69678~~) and [SetInstancesProtection](~~71517~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'EnterStandby' => [ - 'summary' => '将伸缩组内的ECS实例设置为备用状态', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more load balancing server groups', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachServerGroups'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DetachVServerGroups' => [ + 'summary' => 'Removes one or more virtual server groups.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14778,65 +12739,90 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92697', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92692', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the scaling group resides, such as `ap-southeast-1` or `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', '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 value, but you must ensure that it 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****', - ], + '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 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' => 'InstanceId', + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove the instances in the current scaling group from the virtual server groups to be removed. '."\n" + ."\n" + .'- true: removes the instances. If you set this parameter to `true`, the system removes the instances that are associated with the scaling group from the backend servers of the load balancing instance when the load balancing instance is removed from the scaling group.'."\n" + ."\n" + .'- false: does not remove the instances. If you set this parameter to `false`, the system does not remove the instances that are associated with the scaling group from the backend servers of the load balancing instance when the load balancing instance is removed from the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the instance.'."\n", + 'description' => 'The information about the virtual server groups associated with the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of ECS instance N.'."\n", - 'type' => 'string', + 'description' => 'The information about the virtual server groups to be removed.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttribute' => [ + 'description' => 'The attribute column list of virtual server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of virtual server groups.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the virtual server group.'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual server group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****', 'title' => ''], + 'Port' => ['description' => 'The port number used by Auto Scaling to add ECS instances or elastic container instances to the virtual server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual server group number under the load balancing instance. Valid values: 1 to 5.', '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 load balancing instance to which the virtual server group belongs.'."\n" + ."\n" + .'N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'>You can remove up to five load balancing instances from a scaling group at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1p90y3ya9h8s62d****', 'title' => ''], + ], 'required' => false, - 'example' => 'i-28wt4****', + 'title' => '', + 'example' => '', ], 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to put the ECS instance into 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' => 'test', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -14845,42 +12831,59 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","errorExample":""},{"type":"xml","example":"<EnterStandbyResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ScalingActivityId>asa-2zeb04oym05qaceq****</ScalingActivityId>\\n</EnterStandbyResponse>","errorExample":""}]', - 'title' => 'EnterStandby', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DetachVServerGroups', + 'description' => '## Operation description'."\n" + ."\n" + .'- To confirm the virtual server groups to remove, you must specify the following request parameters at the same time:'."\n" + ."\n" + .' - LoadBalancerId: the instance ID of the load balancing instance.'."\n" + .' - VServerGroupId: the ID of the virtual server group. '."\n" + .' - Port: the port number of the virtual server group.'."\n" ."\n" - .'* If you call the operation to put an ECS instance in a scaling group that is associated with a Server Load Balancer (SLB) instance into the Standby state, the weight of the ECS instance as the backend server of the SLB instance is set to 0.'."\n" - .'* You can remove an instance that is in the Standby state from a scaling group, and then release the instance.'."\n" - .'* ECS instances that are in the Standby state are not removed from the scaling group during scale-in activities triggered by event-triggered tasks.'."\n" - .'* If Auto Scaling considers an ECS instance that is in the Standby state unhealthy, for example, the ECS instance is being stopped or being restarted, Auto Scaling does not update the health status of the ECS instance or trigger scale-in activities to remove the ECS instance from the scaling group. Auto Scaling updates the health status of the ECS instance only when the ECS instance is no longer in the Standby state.'."\n", + .'- If the virtual server groups specified in the request parameters match those associated with the scaling group, the virtual server groups are removed. If no match is found, the removal request is ignored and no error is returned.'."\n" + ."\n" + .'- When you remove a load balancing instance from a scaling group, confirm that the load balancing instance no longer distributes requests to instances in the scaling group to prevent service request loss.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ExitStandby' => [ - 'summary' => '使备用状态实例进入运行状态', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to call API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|MissingParameter|The input parameter "%s" that is mandatory for processing this request is not supplied.|A required parameter is missing.|.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachVServerGroups'], + ], ], + ], + 'DisableAlarm' => [ + 'summary' => 'Disables an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14888,76 +12891,19 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92699', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92693', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], '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 it 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' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of ECS instance N. The value of this parameter can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N. The value of this parameter 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, - 'example' => 'i-28wt4****', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'Async', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to asynchronously remove the ECS instance from the Standby state. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], ], 'responses' => [ @@ -14965,71 +12911,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","errorExample":""},{"type":"xml","example":"<ExitStandbyResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ScalingActivityId>asa-2zeb04oym05qaceq****</ScalingActivityId>\\n</ExitStandbyResponse>","errorExample":""}]', - 'title' => 'ExitStandby', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]', + 'title' => 'Disable an event-triggered task', + 'description' => '## Operation description'."\n" ."\n" - .'If a scaling group is associated with Server Load Balancer (SLB) instances, the weight of the ECS instance in the scaling group is set to the value that is specified in the scaling configuration when the ECS instance is removed from the Standby state.'."\n", + .'Before you disable an event-triggered task, the task must be in the Normal, Alerting, or Insufficient Data state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'RebalanceInstances' => [ - 'summary' => '重新平衡ECS实例分布', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAlarm'], + ], ], + ], + 'DisableScalingGroup' => [ + 'summary' => 'Disables a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92712', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '92694', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], ], '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 ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], ], 'responses' => [ @@ -15037,76 +12974,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-kjgffgdfadah****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<RebalanceInstancesResponse>\\n <ScalingActivityId>asa-kjgffgdfadah****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</RebalanceInstancesResponse>","errorExample":""}]', - 'title' => 'RebalanceInstances', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Disable a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'Before you disable a specified scaling group, take note of the following items:'."\n" ."\n" - .'To rebalance ECS instances in a multiple-zone scaling group, Auto Scaling creates ECS instances to replace the existing instances. Auto Scaling starts the created instances before it terminates the existing instances. This ensures that the performance and availability of your applications are not affected.'."\n" + .'- Scaling activities that were triggered before the scaling group is disabled continue to completion. Scaling activities triggered after the scaling group is disabled are rejected.'."\n" ."\n" - .'* You can call this operation only if you set the MultiAZPolicy parameter of the multi-zone scaling group to BALANCE.'."\n" - .'* You can rebalance ECS instances in a scaling group only when the distribution of ECS instances in the scaling group is significantly imbalanced.'."\n" - .'* You can replace up to 20 ECS instances during a rebalancing activity.'."\n" - .'* If the number of ECS instances in the scaling group approaches or reaches the maximum number of instances that is specified by the MaxSize parameter during a rebalancing activity and the rebalancing activity must continue, Auto Scaling allows the number of ECS instances in the scaling group to temporarily exceed the maximum number. The excess number of instances ranges from one to 10% of the value of the MaxSize parameter. In most cases, Auto Scaling requires one to six minutes to rebalance the instances in the scaling group when the number of instances in the scaling group exceeds the maximum number.'."\n", + .'- You can invoke this operation only when the scaling group is in the Active state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - '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.', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.', + '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}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableScalingGroup'], + ], ], + ], + 'EnableAlarm' => [ + 'summary' => 'Enables an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92679', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '92695', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ - 'name' => 'AcceptLanguage', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The language that is used as a filter condition to filter returned results. For more information, see [RFC 7231](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', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], ], 'responses' => [ @@ -15114,320 +13047,316 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Details of the regions.', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => 'Details about the regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ClassicUnavailable' => [ - 'description' => 'Indicates whether the region supports scaling groups of the classic network type. Valid values:'."\n" - ."\n" - .'* true: The region does not support scaling groups of the classic network type.'."\n" - .'* false: The region supports scaling groups of the classic network type.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionEndpoint' => [ - 'description' => 'The endpoint of the region.'."\n", - 'type' => 'string', - 'example' => 'ess.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VpcUnavailable' => [ - 'description' => 'Indicates whether the region supports scaling groups of the VPC type. Valid values:'."\n" - ."\n" - .'* true: The region does not support scaling groups of the VPC type.'."\n" - .'* false: The region supports scaling groups of the VPC type.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2 (北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>73469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <Regions>\\n <ClassicUnavailable>false</ClassicUnavailable>\\n <RegionEndpoint>ess.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2 (北京)</LocalName>\\n <VpcUnavailable>false</VpcUnavailable>\\n <RegionId>cn-beijing</RegionId>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', - 'title' => 'DescribeRegions', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeRegions\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]', + 'title' => 'Enable an event-triggered task', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListTagResources' => [ - 'summary' => '查询弹性伸缩资源已经绑定的标签列表', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableAlarm'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'EnableScalingGroup' => [ + 'summary' => 'Enables a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92701', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '92696', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'ActiveScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The ID of the scaling configuration to be activated in the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['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-m5e3ofjr1zn1aw7****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['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', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'InstanceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The token that is used for the next query.'."\n", - 'type' => 'string', + 'description' => 'The ID of the ECS instance to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The ECS instances to be added to the scaling group must meet the following conditions: '."\n" + .' '."\n" + .'- The instances must be in the same region as the scaling group.'."\n" + ."\n" + .'- The instances must be in the Running state.'."\n" + ."\n" + .'- The instances must not already belong to another scaling group.'."\n" + ."\n" + .'- The billing method of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + ."\n" + .'- If the scaling group has a specified VswitchID, classic network ECS instances cannot be added to the scaling group, and ECS instances from other VPCs cannot be added to the scaling group.'."\n" + ."\n" + .'- If the scaling group does not have a specified VswitchID, VPC-type ECS instances cannot be added to the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The ECS instances to be added to the scaling group must meet the following conditions: '."\n" + .' '."\n" + .'- The instances must be in the same region as the scaling group.'."\n" + ."\n" + .'- The instances must be in the Running state.'."\n" + ."\n" + .'- The instances must not already belong to another scaling group.'."\n" + ."\n" + .'- The billing method of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + ."\n" + .'- If the scaling group has a specified VswitchID, classic network ECS instances cannot be added to the scaling group, and ECS instances from other VPCs cannot be added to the scaling group.'."\n" + ."\n" + .'- If the scaling group does not have a specified VswitchID, VPC-type ECS instances cannot be added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-283vv****', 'title' => ''], 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + 'example' => 'i-283vv****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'LoadBalancerWeight', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.', + 'description' => 'The weight of the ECS instance or elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], + 'items' => ['description' => 'The weight of the ECS instance or elastic container instance as a backend server of the associated SLB instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, + 'example' => '50', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'LaunchTemplateOverride', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the tags.', + 'description' => 'The override information of the launch template.', 'type' => 'array', 'items' => [ - 'description' => 'Details of the tags.', + 'description' => 'The override information of the launch template.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. The key is used to perform an exact match of Auto Scaling resources. The key must be 1 to 128 characters in length. Valid values of N: 1 to 20.'."\n" - ."\n" - .'`Tag.N` is used to perform an exact match of Auto Scaling resources to which the specified tags are added. Tag.N consists of one key-value pair.'."\n" - ."\n" - .'* If you specify only `Tag.N.Key`, all resources whose tags contain the specified tag key are returned.'."\n" - .'* If you specify only `Tag.N.Value`, the `MissingParameter.TagKey` error is returned.'."\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 tag N. The value is used to perform an exact match of Auto Scaling resources. The tag value can be an empty string, and it can be up to 128 characters in length. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'InstanceType' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies ECS instance type and overrides ECS instance type in the launch template. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 10.'."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'For valid values of InstanceType, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify this parameter after you specify LaunchTemplateOverride.N.InstanceType. The two parameters correspond to each other on a one-to-one basis, and the values of N must be the same.'."\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 higher weight means that 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 assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .' For example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected capacity: 6.'."\n" + .'- Capacity of the ecs.c5.xlarge instance type: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out by adding 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 among 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' => 21, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is returned for 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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => 'The details of resources and tags, including resource IDs, resource types, and tag key-value pairs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ESS::SCALINGGROUP', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - 'TagKey' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'Propagate' => [ - 'description' => 'Indicates whether the tag can be propagated.'."\n" - ."\n" - .'* true: The tag can be propagated only to instances that are to be added to the scaling group. The tag cannot be propagated to instances that are already running in the scaling group.'."\n" - .'* false: The tag cannot be propagated to an instance.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>DE65F6B7-7566-4802-9007-96F2494A****</RequestId>\\n <TagResources>\\n <TagValue>TestValue</TagValue>\\n <ResourceType>ALIYUN::ESS::SCALINGGROUP</ResourceType>\\n <ResourceId>asg-bp17xb4x1vr29lgt****</ResourceId>\\n <TagKey>TestKey</TagKey>\\n <Propagate>false</Propagate>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', - 'title' => 'ListTagResources', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Enable a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- You can invoke this operation to enable a scaling group only when the scaling group is in the Inactive state and has an instance configuration source (a scaling configuration, a launch template, or ECS instances specified during scaling group creation). Otherwise, the invocation fails.'."\n" + ."\n" + .' >A scaling group can have only one active instance configuration source at a time. When you invoke this operation, you can specify a scaling configuration or launch template for the scaling group. If you have already configured an instance configuration source for the scaling group before invoking this operation, specifying a scaling configuration or launch template overwrites the existing configuration.'."\n" ."\n" - .'* Specify `ResourceId.N` or `Tag.N` that consists of `Tag.N.Key` and `Tag.N.Value` in the request to specify the objects that you want to query.'."\n" - .'* If you specify `Tag.N` and `ResourceId.N` at the same time, the Auto Scaling resources that match both the parameters are returned.'."\n", + .'- If you specify ECS instances (InstanceId.N) to add to the scaling group when invoking this operation, Auto Scaling checks whether the total number of ECS instances (Total Capacity) in the scaling group falls between the minimum value (MinSize) and the maximum value (MaxSize) after the ECS instances are added:'."\n" + ."\n" + .' - If the Total Capacity of the scaling group is less than MinSize, Auto Scaling performs automatic creation of pay-as-you-go ECS instances to make up the difference.'."\n" + ."\n" + .' For example, if you set MinSize to 5 when creating the scaling group and specify 2 existing ECS instances in the InstanceId.N parameter when enabling the scaling group, Auto Scaling adds the 2 existing ECS instances and then performs automatic creation of 3 more ECS instances. '."\n" + ."\n" + .' - If the Total Capacity of the scaling group is greater than MaxSize, the invocation failed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListTagKeys' => [ - 'summary' => '查询弹性伸缩资源标签键的列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is in the Deleting state.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the specified scaling group.|'."\n" + .'|400|InvalidScalingConfigurationId.InstanceTypeMismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|400|MissingActiveScalingConfiguration|An active scaling configuration for the specified scaling group is not supplied.|No active scaling configuration is specified for the scaling group.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist in the current account.|'."\n" + .'|400|InvalidInstanceId. RegionMismatch|Instance "XXX" and the specified scaling group are not in the same Region.|The specified ECS instance is not in the same region as the scaling group.|'."\n" + .'|400|InvalidInstanceId. InstanceTypeMismatch|Instance "XXX" and existing active scaling configuration have different instance type.|The instance type of the specified ECS instance does not match the instance type of the scaling configuration.|'."\n" + .'|400|IncorrectInstanceStatus|The current status of instance "XXX" does not support this action.|The specified ECS instance is not in the Running state.|'."\n" + .'|400|InvalidInstanceId. NetworkTypeMismatch|The network type of instance "XXX" does not support this action.|The network type of the specified ECS instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidInstanceId.VPCMismatch|Instance "XXX" and the specified scaling group are not in the same VPC.|The specified scaling group and the ECS instance to be added are not in the same VPC.|'."\n" + .'|400|InvalidInstanceId.InUse|Instance "XXX" is already attached to another scaling group.|The specified ECS instance is already added to another scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The specified SLB instance is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the specified SLB instance.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified Load Balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified VSwitchId are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The specified ApsaraDB RDS instance is not in the Running state.|'."\n" + .'|400|IncorrectCapacity.MaxSize|To attach the instances, the total capacity will be greater than the max size.|The number of ECS instances to be added causes the Total Capacity to exceed MaxSize.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The fixed version number specified for the launch template is not a number.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableScalingGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'EnterStandby' => [ + 'summary' => 'Sets ECS instances in a scaling group to the standby state.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92700', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '92697', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup, which indicates that the tag is bound to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + '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.'."\n" + ."\n" + .'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' => 'NextToken', + 'name' => 'InstanceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + 'description' => 'The ID of the ECS instance or elastic container instance.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance or elastic container instance.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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', - ], + 'schema' => ['description' => 'Specifies whether to use an asynchronous task. Valid values:'."\n" + .'- true: The request is processed asynchronously.'."\n" + .'- false: The request is processed synchronously.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -15435,128 +13364,96 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Keys' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Key' => [ - 'description' => 'The information of the tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information of the tag keys.', - 'type' => 'string', - 'example' => 'ESS', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": {\\n \\"Key\\": [\\n \\"ESS\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagKeysResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>DC09A6AA-2713-4E10-A2E9-E6C5C43A8842</RequestId>\\n <PageSize>10</PageSize>\\n <Keys>ESS</Keys>\\n</ListTagKeysResponse>","errorExample":""}]', - 'title' => 'ListTagKeys', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + 'title' => 'Set ECS instances in a scaling group to the standby state', + 'description' => '## Operation description'."\n" + ."\n" + .'- If the scaling group is associated with a load balancing instance, the weight of the corresponding instance in the load balancing instance is set to 0.'."\n" + ."\n" + .'- When an instance is in the standby state, you can manually remove and release the instance from the scaling group as Normal.'."\n" + ."\n" + .'- For scaling activities triggered by changes in the number of instances in the scaling group or by monitoring nodes for automatic scale-in, instances in the standby state are not removed.'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ListTagKeys\\&type=RPC\\&version=2014-08-28)'."\n", + .'- When an instance is in the standby state, if the instance enters an unhealthy state (for example, stopping or restarting), the health check status of the instance is not updated, and no scaling activity is triggered to remove the unhealthy instance. The health check status is updated only after the instance exits the standby state.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListTagValues' => [ - 'summary' => '查询弹性伸缩资源标签键对应的标签值', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The RAM user is not authorized to call this operation. Grant the required permissions by using the Alibaba Cloud account and try again.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or elastic container instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnterStandby'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ExecuteScalingRule' => [ + 'summary' => 'Executes a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92702', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '92698', + 'abilityTreeNodes' => ['FEATUREessKCZYL8'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleAri', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The unique identifier of the scaling rule.'."\n" + .'>When you call this operation to execute a scaling rule, only simple scaling rules and step scaling rules are supported. To execute a step scaling rule, you must specify both the `BreachThreshold` and `MetricValue` parameters.', 'type' => 'string', 'required' => true, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup, which indicates that the tag is bound to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'The value of this parameter is generated by the client and must be unique among different requests. The value can be up to 64 ASCII characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'BreachThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The threshold that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'MetricValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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', - ], + 'schema' => ['description' => 'The metric value that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'Key', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ESS', - ], + 'schema' => ['description' => 'The region ID of the scaling rule.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -15564,59 +13461,81 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158F95B', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Values' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Value' => [ - 'description' => 'The information of the tag values.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information of the tag values.', - 'type' => 'string', - 'example' => 'Doc', - ], - ], - ], - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp13o672yeautiil****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": {\\n \\"Value\\": [\\n \\"Doc\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagValuesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>AB444F46-1CFF-4B06-B8F0-B45D3158****</RequestId>\\n <PageSize>10</PageSize>\\n <Values>Doc</Values>\\n</ListTagValuesResponse>","errorExample":""}]', - 'title' => 'ListTagValues', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Execute a scaling rule', + 'description' => '# Operation description'."\n" + .'Note the following items when you invoke this operation:'."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ListTagValues\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'TagResources' => [ - 'summary' => '为资源列表创建并绑定标签', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .' - The scaling group is in the `Active` state.'."\n" + .' - The scaling group has no ongoing scaling activities.'."\n" + ."\n" + .'- When the scaling group has no ongoing scaling activities, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + ."\n" + .'- If the number of ECS instances to increase based on the scaling rule plus the current number of instances in the scaling group (Total Capacity) is greater than the maximum number of instances (MaxSize), the scaling activity is executed with Total Capacity set to MaxSize.'."\n" + ."\n" + .'- If the current number of instances in the scaling group (Total Capacity) minus the number of ECS instances to be removed based on the scaling rule is less than the minimum number of instances (MinSize), the scaling activity is executed with Total Capacity set to MinSize.'."\n" + ."\n" + .'A successful response to this operation only indicates that Auto Scaling has accepted the request and can execute the scaling activity. It does not mean that the scaling activity will succeed. You can check the execution status of the scaling activity by using the returned `ScalingActivityId`.'."\n" + .'>The number of ECS instances that can be adjusted in a single operation is limited. For more information, see the metric description of the AdjustmentValue parameter in [CreateScalingRule](~~25948~~).', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleAri.NotFound|The specified scaling rule Ari does not exist.|The specified scaling rule does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InsufficientBalance|Your account does not have enough balance.|The account balance is insufficient.|'."\n" + .'|400|QuotaExceed.Instance|Living instance quota exceeded.|The number of ECS instances has reached the upper limit.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the SLB instance associated with the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified vSwitch are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances added to the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.NoChange|To execute the specified scaling rule, the total capacity will not change.|The scaling rule does not cause any change in the number of instances in the scaling group.|'."\n" + .'|400|QuotaExceeded.ScalingInstance|Scaling instance quota exceeded.|The number of ECS instances managed by Auto Scaling has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.AfterpayInstance|Living afterpay instance quota exceeded.|The number of pay-as-you-go ECS instances has reached the upper limit.|'."\n" + .'|400|ResourceNotAvailable.ECS|The specified region or zone does not offer the specified disk or instance category.|The specified ECS instance type or cloud disk type cannot be created in the specified region.|'."\n" + .'|400|ScalingRule.InvalidScalingRuleType|Specific scaling rule type: %s can not be executed.|The scaling rule of the current type cannot be executed.|'."\n" + .'|400|InvalidStepAdjustments.NoStepFound|No adjustment step found for a metric value of: %s.|No matching step adjustment was found for the specified metric value.|'."\n" + .'|400|MissingParameter.MetricValue|Metric value must be specified for StepScalingRule.|A metric value must be specified when you execute a step scaling rule.|'."\n" + .'|400|MissingParameter.BreachThreshold|Breach threshold must be specified for StepScalingRule.|A breach threshold must be specified when you execute a step scaling rule.|'."\n" + .'|400|MetricValueBeyondPermitRange|Specific parameter "%s" beyond permit range.|The metric value exceeds the permitted range.|'."\n" + .'|400|BreachThresholdBeyondPermitRange|Specific parameter "%s" beyond permit range.|The breach threshold exceeds the permitted range.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ExitStandby' => [ + 'summary' => 'Transitions ECS instances in standby state within a scaling group to the running state.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15624,95 +13543,50 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92721', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '92699', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + '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 [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'InstanceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.', + 'description' => 'The ID of the ECS instance.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2zej7nf7hea77k5a****', - ], + '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 (,).', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, + 'example' => 'i-28wt4****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'Async', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. 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 value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - 'Propagate' => [ - 'description' => 'Specifies whether tag N can be propagated. Valid values:'."\n" - ."\n" - .'* true: Tag N can be propagated only to instances that are pending to be added to the scaling group.'."\n" - .'* false: Tag N cannot be propagated to an instance.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'Specifies whether to use an asynchronous task. Valid values:'."\n" + ."\n" + .'- true: The task is executed asynchronously.'."\n" + .'- false: The task is executed synchronously.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -15720,124 +13594,94 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '74C4E313-8570-479F-8791-DC25360D****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingActivityId' => ['title' => '', 'description' => 'The scaling activity ID.', 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>74C4E313-8570-479F-8791-DC25360D****</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => 'TagResources', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + 'title' => 'Transition standby instances to running state', + 'description' => '## Operation description'."\n" ."\n" - .'* You can add up to 20 tags to a scaling group.'."\n" + .'After instances in a scaling group are removed from standby state, note the following items:'."\n" ."\n" - .'* Before you add tags to a scaling group, Auto Scaling automatically checks the number of existing tags of the scaling group. If the maximum number is exceeded, an error message is returned when you call the operation.'."\n" + .'- The ECS instances or ECI instances transition to the running state (that is, recover to the in-service state).'."\n" ."\n" - .'* If you set the `Propagate` parameter to `true`, the tags that you add to a scaling group are propagated only to instances that are pending to be added to the scaling group. The tags are not propagated to instances that are already running in the scaling group.'."\n" + .'- If the scaling group that contains the ECS instances or ECI instances is associated with a load balancing instance, the weight of the ECS instances or ECI instances is set to 50 by default when they are added back to the load balancing instance.'."\n" ."\n" - .'* If you add tags to a scaling group and set the Propagate parameter to true, the following rules apply:'."\n" + .'- If the ECS instances or ECI instances are stopped or restarted, their health check status is updated.'."\n" ."\n" - .' * The tags of instances that are pending to be added to the scaling group include the following tags: tags that are specified in the scaling configuration based on which the instances are created and tags that are added to the scaling group and propagated to the instances.'."\n" - .' * If the tags that are specified in the scaling configuration and the tags that are added to the scaling group and propagated to the instances have the same tag keys, the tags that are added to the scaling group and propagated to the instances are overwritten by the tags that are specified in the scaling configuration.'."\n", + .'- When a scale-in scaling activity is triggered in the scaling group, Auto Scaling can remove the ECS instances or ECI instances from the scaling group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => '为指定的弹性伸缩资源列表统一解绑标签', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The RAM user is not authorized to invoke this operation. Grant the required permissions and try again.|'."\n" + .'|404|InvalidInstanceId.NotFound|A required authorization for the specified action is not supplied.|The specified ECS instance or ECI instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under your account.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExitStandby'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ListTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92722', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92700', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', ], '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', - ], + 'schema' => ['description' => 'The ID of the region where the Auto Scaling resource resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'All', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to unbind all tags from the resource. This parameter takes effect only when the TagKey.N parameter is not specified. Valid values:'."\n" - ."\n" - .'* true: All tags are unbound from the resource.'."\n" - .'* false: No tags are unbound.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The Auto Scaling resource type. Set the value to `scalinggroup`, which indicates that the tagged object is a scaling group.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'NextToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The keys of the tags that you want to remove from the Auto Scaling resource. You can specify 1 to 20 tag keys.', - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'The pagination token for the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], [ - 'name' => 'TagKey', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The keys of the tags that you want to remove from the Auto Scaling resource. You can specify 1 to 20 tag keys.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of the request.', - 'example' => 'TestKey', - ], - 'required' => false, - 'example' => 'TestKey', - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -15845,427 +13689,135 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B73ED', + 'NextToken' => ['description' => 'The pagination token for the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Keys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key information.', + 'type' => 'array', + 'items' => ['description' => 'The tag key information.', 'type' => 'string', 'example' => 'ESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>3AEBB1B9-5B13-4311-951F-C3C7FA2B****</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => 'UntagResources', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=UntagResources\\&type=RPC\\&version=2014-08-28)'."\n", + 'title' => 'Query tag keys of Auto Scaling resources', + 'summary' => 'Queries the list of tag keys for Auto Scaling resources.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateAlarm' => [ - 'summary' => '创建一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidResourceType.NotFound|The ResourceType provided does not exist in our records.|The specified resource type is invalid.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": {\\n \\"Key\\": [\\n \\"ESS\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => 'Queries the labels that are attached to one or more elastic scaling resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92653', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92701', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to query the most recent region list.', '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', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test alarm task.', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric. Valid values of MetricName vary based on the value of MetricType.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values of MetricName are your custom metrics.'."\n" - ."\n" - .'* If you set MetricType to system, MetricName has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: (ECS) the CPU utilization. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (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 that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk that is 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' => 'CpuUtilization', - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - '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", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], - ], - [ - '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 Period to 15. In other cases, you can set Period 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', - 'default' => '300', - ], - ], - [ - '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', - 'default' => 'Average', - ], - ], - [ - 'name' => 'Threshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of a metric in the multi-metric alert rule. 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', - ], - ], - [ - 'name' => 'ComparisonOperator', - 'in' => 'query', - 'schema' => [ - 'description' => 'The operator that is used to compare the metric value and the metric threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the metric 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", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - 'default' => '>=', - ], - ], - [ - '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', - 'default' => '3', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application group to which the custom metric belongs. This parameter must be specified when MetricType is set to custom.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4055401', - ], - ], - [ - 'name' => 'Effective', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The effective period of the event-triggered task.'."\n" - ."\n" - .'The Effective value 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, 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 at all times.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00:00 and 18:59:00 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00:00 and 02:59:00 (UTC+0) every day.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', - ], + 'schema' => ['description' => 'The resource type. Only scaling groups are supported. Valid values: scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'AlarmAction', + 'name' => 'NextToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], ], [ - 'name' => 'Dimension', + 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The quota dimension.'."\n", + 'description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'array', - 'items' => [ - 'description' => 'The quota dimension.'."\n", - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension. The valid values vary based on the metric type.'."\n" - ."\n" - .'If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'If you set the MetricType parameter 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'."\n" - .'- device: the type of the NIC'."\n" - .'- state: the status of the TCP connection', - 'type' => 'string', - 'required' => false, - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The value of the metric dimension. The valid values vary based on the value of the DimensionKey parameter.'."\n" - ."\n" - .'- If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'- If you set the MetricType parameter to system, the following rules apply:'."\n" - ."\n" - .' - If you set the DimensionKey parameter to user_id, the system specifies the value of the DimensionValue parameter.'."\n" - ."\n" - .' - If you set the DimensionKey parameter to scaling_group, the system specifies the value of the DimensionValue parameter.'."\n" - ."\n" - .' - If you set the DimensionKey parameter to device, you can set the DimensionValue parameter to eth0 or eth1.'."\n" - ."\n" - .' - For instances that reside in the classic network, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in a VPC.'."\n" - .' - For instances that reside in the classic network, eth1 specifies the public NIC.'."\n" - .' - If you set the DimensionKey parameter to state, you can set the DimensionValue parameter to TCP_TOTAL or ESTABLISHED.'."\n" - ."\n" - .' - TCP_TOTAL specifies the total number of TCP connections.'."\n" - .' - ESTABLISHED specifies the number of established TCP connections.', - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], 'required' => false, - 'maxItems' => 5, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'Expression', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The name of the metric. Valid values of MetricName vary based on the value of MetricType.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values of MetricName are your custom metrics.'."\n" - ."\n" - .'* If you set MetricType to system, MetricName has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: (ECS) the CPU utilization. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (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 that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk that is 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' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the metric threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the metric 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", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - ], - 'Period' => [ - '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 Period to 15. In other cases, you can set Period 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' => '900', - ], - 'Statistics' => [ - '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', - ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '40.0', - ], + 'Key' => ['description' => 'The tag key used to perform an exact search for Elastic scaling resources. The tag key must be 1 to 128 characters in length. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Tag.N is used to perform an exact search for Elastic scaling resources that have the specified tag bound. Tag.N consists of a key-value pair.'."\n" + ."\n" + .'- If you specify only Tag.N.Key, all resources that are associated with the tag key are returned.'."\n" + ."\n" + .'- If you specify only Tag.N.Value, the MissingParameter.TagKey error is returned.'."\n" + ."\n" + .'- If you specify multiple tag key-value pairs at the same time, only Elastic scaling resources that match all the specified tag key-value pairs are returned.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The label value used to perform an exact search for elastic scaling resources. The label value can be an empty string. Maximum length: 128 characters. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, - ], - ], - [ - '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 as long as one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" - ."\n" - .'Default value: `&&`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '&&', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], ], @@ -16274,216 +13826,119 @@ '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'NextToken' => ['description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****', 'title' => ''], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => 'The collection of resources and their tags, which contains information such as the resource ID, resource type, and tag key-value pairs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of resources and their tags, which contains information such as the resource ID, resource type, and tag key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ESS::SCALINGGROUP', 'title' => ''], + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tag is a propagatable tag. Valid values:'."\n" + .'- true: The tag on the scaling group is propagated only to instances that are about to be scaled out. The tag is not propagated to instances that are already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAlarmResponse>\\n <AlarmTaskId>asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****</AlarmTaskId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CreateAlarmResponse>","errorExample":""}]', - 'title' => 'CreateAlarm', - 'description' => '## Description'."\n" - ."\n" - .'* If you set the **MetricType** parameter to **custom**, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).'."\n" - ."\n" - .'* When you create an event-triggered task, you must specify the **MetricName**, **Dimension.N.DimensionKey**, and **Dimension.N.DimensionValue** parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the **user_id** and **scaling_group** dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances in a scaling group within an Alibaba Cloud account.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListTagResources', + 'description' => '## Operation description'."\n" ."\n" - .' * If you set the **MetricType** parameter to **custom**, the valid values are your custom metrics.'."\n" - .' * For information about the metrics that are supported if you set the **MetricType** parameter to **system**, see [Event-triggered task for system monitoring](~~74854~~).'."\n" + .'- Specify at least one of the following request parameters: ResourceId.N or Tag.N (Tag.N.Key and Tag.N.Value) to determine the query object.'."\n" ."\n" - .'> The **user_id** and **scaling_group** dimensions are automatically populated. You need to only specify the **device** and **state** dimensions. For more information, see the `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", + .'- If you specify both Tag.N and ResourceId.N, the response contains only elastic scaling resources that satisfy both conditional criteria.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DeleteAlarm' => [ - 'summary' => '删除一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92662', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\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****', - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAlarmResponse>\\n <AlarmTaskId>asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****</AlarmTaskId>\\n <RequestId>6EF9BFEE-FE07-4627-B8FB-14326FB9****</RequestId>\\n</DeleteAlarmResponse>","errorExample":""}]', - 'title' => 'DeleteAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteAlarm\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DisableAlarm' => [ - 'summary' => '停用一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagValues' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92693', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92702', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the region where the Auto Scaling resources reside.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'schema' => ['description' => 'The Auto Scaling resource type. Set the value to scalinggroup, which indicates that the tagged object is a scaling group.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableAlarmResponse>\\n <RequestId>086EFCD4-C76F-4DC6-9EE9-0D9B711E****</RequestId>\\n</DisableAlarmResponse>","errorExample":""}]', - 'title' => 'DisableAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DisableAlarm\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'EnableAlarm' => [ - 'summary' => '启用一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92695', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + '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, 'example' => '10', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'Key', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'schema' => ['description' => 'The tag key.', 'type' => 'string', 'required' => true, 'example' => 'ESS', 'title' => ''], ], ], 'responses' => [ @@ -16491,34 +13946,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', + 'NextToken' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page that was specified in the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Values' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Value' => [ + 'description' => 'The tag key information.', + 'type' => 'array', + 'items' => ['description' => 'The tag value information.', 'type' => 'string', 'example' => 'Doc', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableAlarmResponse>\\n <RequestId>688B18B8-FB1E-42EB-A1ED-7F55B090****</RequestId>\\n</EnableAlarmResponse>","errorExample":""}]', - 'title' => 'EnableAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=EnableAlarm\\&type=RPC\\&version=2014-08-28)'."\n", + 'title' => 'Query tag values of Auto Scaling resources by tag key', + 'summary' => 'Queries the tag values that correspond to a tag key of Auto Scaling resources.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidResourceType.NotFound|The ResourceType provided does not exist in our records.|The specified resource type is invalid.|'."\n" + .'|400|InvalidTagKey.Malformed|The specified tag key \\"%s\\" is not valid.|The specified tag key does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": {\\n \\"Value\\": [\\n \\"Doc\\"\\n ]\\n }\\n}","type":"json"}]', ], 'ModifyAlarm' => [ - 'summary' => '修改报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Modifies an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16527,229 +14013,174 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '92703', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + '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', - ], + 'schema' => ['description' => 'The region ID of the event-triggered task.', '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****', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.', '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****', - ], + 'schema' => ['description' => 'The name of the event-triggered task.', '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.', - ], + 'schema' => ['description' => 'The description of the event-triggered task.', '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 **MetricType** to **custom**, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set **MetricType** 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" - .' * **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 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', - ], + 'schema' => ['description' => 'The name of the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task: '."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory usage (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + ."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory usage (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'MemoryUtilization', 'title' => ''], ], [ 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - '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", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The period during which the statistical value of the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - ."\n" - .'* 60'."\n" - ."\n" - .'* 120'."\n" - ."\n" - .'* 300'."\n" - ."\n" - .'* 900'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** 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**. Otherwise, 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', - ], + 'schema' => ['description' => 'The statistical period for the monitoring metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + .'> Only scaling groups of the ECS type support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'Statistics', 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to collect statistics about the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], + 'schema' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], ], [ 'name' => 'Threshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached *N* times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The threshold of the monitoring metrics. An alert is triggered and the scaling rule is executed when the threshold expression is met the specified number of times.', '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.'."\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' => '>=', - ], + 'schema' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: `>=`.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: `<=`.'."\n" + .'- The statistical value is greater than the threshold. Value: `>`.'."\n" + .'- The statistical value is less than the threshold. Value: `<`.', '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', - ], + 'schema' => ['description' => 'The number of times that the threshold expression must be met before the scaling rule is executed.'."\n" + ."\n" + .'For example, the average CPU utilization is greater than or equal to 80% for three consecutive statistical periods.', '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', - ], + 'schema' => ['description' => 'The ID of the CloudMonitor application group to which the custom monitoring metric belongs. This parameter must be specified only when the monitoring type is custom.', '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 before a cron expression in the `TZ=+yy` format. 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 * * ?', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task.'."\n" + ."\n" + .'This parameter follows cron expressions. The default format is `X X X X X ?`, where:'."\n" + .'- X: a placeholder for a field, which sequentially represents seconds, minutes, hours, day of month, and month. X can be a specific value or a special character with logical meaning. For more information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + ."\n" + .'- ?: specifies no particular value.'."\n" + ."\n" + .'> The value of this parameter is **in the UTC+8 time zone by default**. You can add the time zone information `TZ=+yy` before the cron expression to specify a time zone, where y represents the numeric value of the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task takes effect between 01:00 and 02:59 every day in the UTC+0 time zone.'."\n" + ."\n" + .'Sample values and their meanings:'."\n" + ."\n" + .'- `* * * * * ? `: takes effect at all times.'."\n" + ."\n" + .'- `* * 17-18 * * ? `: takes effect between 17:00 and 18:59 every day in the UTC+8 time zone.'."\n" + ."\n" + .'- `TZ=+00 * * 1-2 * * ?`: takes effect between 01:00 and 02:59 every day in the UTC+0 time zone.', 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ 'name' => 'AlarmAction', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.', + 'description' => 'The unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'array', - 'items' => [ - 'description' => 'The unique identifier of scaling rule *N* that is associated with the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', - ], + 'items' => ['description' => 'The unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'maxItems' => 5, + 'title' => '', ], ], [ @@ -16757,56 +14188,49 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The dimensions of the metric.', + 'description' => 'The dimension information associated with the monitoring metric.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The dimension information associated with the monitoring metric.', 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of dimension *N* that is associated with 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'."\n" - .' * **device**: the type of the NIC'."\n" - .' * **state**: the status of the TCP connection'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The value of dimension *N *that is associated with the metric. The valid values vary based on the value of **Dimension.N.DimensionKey**.'."\n" - ."\n" - .'* If you set **Dimension.N.DimensionKey** to a custom value, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If the value of **Dimension.N.DimensionKey** is specified by the 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 that reside in the classic network type, **eth0 **specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in a VPC.'."\n" - .' * For instances that reside in the classic network, **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 established TCP connections.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], + 'DimensionKey' => ['description' => 'The key of the dimension information associated with the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are not restricted and can be specified as needed.'."\n" + ."\n\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: your account ID.'."\n" + .' - scaling_group: the scaling group being monitored.'."\n" + .' - device: the type of the network interface controller (NIC) device.'."\n" + .' - state: the state of the TCP connection.'."\n" + .' - rulePool: the server group specified for the ALB QPS monitoring metrics node.', 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension information associated with the monitoring metric. Valid values are determined by Dimension.N.DimensionKey:'."\n" + ."\n" + .'- If the value of Dimension.N.DimensionKey is custom, meaning the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are not restricted and can be specified as needed.'."\n" + ."\n" + .'- If the value of Dimension.N.DimensionKey is from the system-specified range, meaning the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: automatically populated by the system.'."\n" + ."\n" + .' - scaling_group: automatically populated by the system.'."\n" + ."\n" + .' - device:'."\n" + .' - eth0: for classic network instances, eth0 represents the internal NIC. For VPC-connected instances, only the eth0 NIC exists.'."\n" + .' - eth1: for classic network instances, eth1 represents the public NIC.'."\n" + ."\n" + .' - state:'."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.', 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ @@ -16814,120 +14238,110 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', + 'description' => 'The information about multi-metric alert rules.', 'type' => 'array', 'items' => [ - 'description' => 'The expression that is specified in the multi-metric alert rule.', + 'description' => 'The information about multi-metric alert rules.', 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The names of the metrics that are specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set **MetricType **to **custom**, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set **MetricType **to **system**, this 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', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold.'."\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' => '>=', - ], - 'Period' => [ - 'description' => 'The period during which the statistical values of the metrics that are specified in the multi-metric alert rule are collected. Unit: seconds.'."\n" - ."\n" - .'* 15'."\n" - ."\n" - .'* 60'."\n" - ."\n" - .'* 120'."\n" - ."\n" - .'* 300'."\n" - ."\n" - .'* 900'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** 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**. Otherwise, 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', - ], - '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', - ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values. If the thresholds are reached *N* times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '40.0', - ], + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values: '."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory usage (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + ."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory usage (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric in the multi-metric alert rule. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: `>=`.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: `<=`.'."\n" + .'- The statistical value is greater than the threshold. Value: `>`.'."\n" + .'- The statistical value is less than the threshold. Value: `<`.'."\n" + ."\n" + .'Default value: `>=`.', 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + .'> Only scaling groups of the ECS type support a 15-second statistical period.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. An alert is triggered and the scaling rule is executed when the threshold expression is met the specified number of times.', '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: `&&`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '&&', - ], + 'schema' => ['description' => 'The relationship between multiple metric alert conditions. Valid values:'."\n" + ."\n" + .'- `&&`: an alert is triggered only when all monitoring metrics meet the alert conditions. An alert is triggered only when all expressions in the multi-metric alert rule evaluate to `true`.'."\n" + .'- `||`: an alert is triggered when any one of the monitoring metrics meets the alert condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], ], ], 'responses' => [ @@ -16935,676 +14349,94 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyAlarmResponse>\\n <AlarmTaskId>asg-bp1hvbnmkl10vll5****</AlarmTaskId>\\n <RequestId>BACACF83-7070-4953-A8FD-D81F89F1****</RequestId>\\n</ModifyAlarmResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', 'title' => 'ModifyAlarm', - 'description' => '## Description'."\n" - ."\n" - .'* If you set **MetricType** to **custom**, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).'."\n" + 'description' => '## Operation description'."\n" ."\n" - .'* When you create an event-triggered task, you must specify the **MetricName**, **Dimension.N.DimensionKey**, and **Dimension.N.DimensionValue** parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the **user_id** and **scaling_group** dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" + .'- If you create an event-triggered task of the custom monitoring type (MetricType=custom), you must report the custom monitoring metric to CloudMonitor in advance. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" ."\n" - .' * If you set **MetricType** to **custom**, the valid values are your custom metrics.'."\n" - .' * For information about the metrics that are supported if you set the **MetricType** parameter to **system**, see[ Event-triggered task for system monitoring](~~74854~~).'."\n" + .'- When you create an event-triggered task, you must specify the monitoring metric (MetricName) and use the dimension information (`Dimension.N.DimensionKey` and `Dimension.N.DimensionValue`) to determine the scope of data aggregation for the monitoring metric in the scaling group. For example, you can specify `user_id` and `scaling_group` to aggregate the monitoring metric data of all ECS instances or elastic container instances in the scaling group of the specified user.'."\n" + .' - The monitoring metrics of event-triggered tasks of the custom monitoring type (MetricType=custom) depend on your custom monitoring metrics.'."\n" + .' - For more information about the monitoring metrics supported by event-triggered tasks of the system monitoring type (MetricType=system), see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n" ."\n" - .'> The **user_id** and **scaling_group** dimensions are automatically populated. You need to only specify the **device** and **state** dimensions. For more information, see the `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", + .'> In the dimension information, `user_id` and `scaling_group` are automatically populated by the system. You must manually specify `device` and `state`. For more information, see the `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAlarms' => [ - 'summary' => '查询报警任务的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92670', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAlarm'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - '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 that is monitored by the event-triggered task.'."\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 feature. Valid values:'."\n" - ."\n" - .'* true: enables the event-triggered task feature.'."\n" - .'* false: disables the event-triggered task feature.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the metric that is used by the event-triggered task. 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', - ], - ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - ], - [ - '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', - 'example' => '10', - 'default' => '10', - ], - ], - [ - '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', - 'default' => '1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - '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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Alarm' => [ - 'description' => 'The event-triggered tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - '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 name of the metric. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the CPU utilization of an Elastic Compute Service (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 internal network to an ECS instance. Unit: KB/min.'."\n" - .'* VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (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 that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteOps: the number of write operations on the system disk that is 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 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', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of 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 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" - .'> 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 the Period parameter to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group that is monitored by the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - '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' => '>=', - ], - 'Effective' => [ - 'description' => 'The period during which the event-triggered task is in effect.'."\n", - 'type' => 'string', - 'example' => '* * * * * ?', - ], - 'Description' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'Test alarm task.', - ], - 'MetricType' => [ - 'description' => 'The type of the metric that is used by the event-triggered task. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor'."\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 value. If the threshold is reached the specified times within the specified 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: The event-triggered task feature is enabled.'."\n" - .'* false: The event-triggered task feature is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Statistics' => [ - 'description' => 'The method that is used to collect statistics about the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'description' => 'The metric dimensions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - '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 type of the NIC.'."\n" - .'* state: the status of the TCP connection.'."\n", - 'type' => 'string', - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The value of this parameter varies based on the value of the DimensionKey parameter.'."\n" - ."\n" - .'* `user_id`: The system specifies the value.'."\n" - ."\n" - .'* `scaling_group`: The system specifies the value.'."\n" - ."\n" - .'* Valid values for `device`:'."\n" - ."\n" - .' * eth0: For classic network instances, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance of the VPC type.'."\n" - .' * eth1: For classic network instances, eth1 indicates the Internet NIC.'."\n" - ."\n" - .'Valid values for `state`:'."\n" - ."\n" - .'* TCP_TOTAL: the total number of TCP connections.'."\n" - .'* ESTABLISHED: the number of TCP connections that are established.'."\n", - 'type' => 'string', - 'example' => 'eth0', - ], - ], - ], - ], - ], - ], - 'AlarmActions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AlarmAction' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', - ], - ], - ], - ], - 'Expressions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Expression' => [ - 'description' => 'The alert conditions of the multi-metric alert rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The names of the metrics in the multi-metric alert rule. 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 internal network to an ECS instance. 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 that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteOps: the number of write operations on the system disk that is 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 sent by the internal NIC that is used by an agent.'."\n" - .'* PackagesNetIn: the number of packets received by the internal NIC that is 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', - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\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" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', - 'example' => '>=', - ], - '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 that is associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter 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 collect 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', - 'example' => 'Average', - ], - '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', - '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 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.', - 'type' => 'string', - 'example' => '&&', - ], - 'HybridMonitorNamespace' => [ - 'type' => 'string', - ], - 'HybridMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HybridMetric' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'PromQL' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": {\\n \\"Alarm\\": [\\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\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ]\\n },\\n \\"AlarmActions\\": {\\n \\"AlarmAction\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ]\\n },\\n \\"Expressions\\": {\\n \\"Expression\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ]\\n },\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\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 }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAlarmsResponse>\\n <PageSize>10</PageSize>\\n <RequestId>871C7C53-34A4-45AA-8C14-4B72FA6A****</RequestId>\\n <PageNumber>1</PageNumber>\\n <TotalCount>2</TotalCount>\\n <AlarmList>\\n <AlarmTaskId>asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****</AlarmTaskId>\\n <MetricName>CpuUtilization</MetricName>\\n <EvaluationCount>3</EvaluationCount>\\n <State>ALARM</State>\\n <Period>300</Period>\\n <ScalingGroupId>asg-bp18p2yfxow2dloq****</ScalingGroupId>\\n <ComparisonOperator>>=</ComparisonOperator>\\n <Effective>* * * * * ?</Effective>\\n <Description>Test alarm task.</Description>\\n <MetricType>system</MetricType>\\n <Name>TestAlarmTask</Name>\\n <Threshold>80</Threshold>\\n <Enable>true</Enable>\\n <Statistics>Average</Statistics>\\n <Dimensions>\\n <DimensionKey>device</DimensionKey>\\n <DimensionValue>eth0</DimensionValue>\\n </Dimensions>\\n <AlarmActions>ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****</AlarmActions>\\n <Expressions>\\n <MetricName>CpuUtilization</MetricName>\\n <ComparisonOperator>>=</ComparisonOperator>\\n <Period>900</Period>\\n <Statistics>Average</Statistics>\\n <Threshold>40</Threshold>\\n </Expressions>\\n <ExpressionsLogicOperator>&&</ExpressionsLogicOperator>\\n </AlarmList>\\n</DescribeAlarmsResponse>","errorExample":""}]', - 'title' => 'DescribeAlarms', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeAlarms\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'AttachAlbServerGroups' => [ - 'summary' => '添加一个或多个ALB服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyAlertConfiguration' => [ + 'summary' => 'When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications through SMS or email. You must handle the related events after receiving the notifications. You can call the ModifyAlertConfiguration operation to set the scaling activity statuses for which SMS and email notifications are sent in a scaling group. This helps you stay informed about scaling activity changes and respond promptly to improve scaling efficiency.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92647', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'abilityTreeCode' => '208787', + 'abilityTreeNodes' => ['FEATUREessLTO4TI'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the scaling group belongs, such as cn-hangzhou and cn-shanghai. For more information, 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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'RegionId', '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 it is unique among different requests. 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****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'ScaleStatus', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to add the Elastic Compute Service (ECS) instances in the scaling group to the newly associated ALB server group.'."\n" + 'description' => 'The scaling activity statuses for which SMS and email notifications are sent in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The scaling activity statuses for which SMS and email notifications are sent in the scaling group. Valid values:'."\n" ."\n" - .'* true: adds the ECS instances and returns the `ScalingActivityId` value. You can view the ID of the scaling activity to determine whether the existing instances are added.'."\n" - .'* false: does not add the ECS instances.'."\n" + .'- ScaleSuccessful: sends SMS and email notifications when a scaling activity succeeds.'."\n" + .'- ScaleRejected: sends SMS and email notifications when a scaling activity is rejected.'."\n" + .'- ScaleFailed: sends SMS and email notifications when a scaling activity fails.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'>If you do not set this parameter (leave it empty), all SMS and email notifications are canceled.', 'type' => 'string', 'required' => false, 'example' => 'ScaleSuccessful', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'AlbServerGroup', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ALB server groups.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group. You can associate only a limited number of ALB server groups with a scaling group. To view the available quota or manually request a quota increase, go to the [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of the ECS instance as a backend server after the instance is added to the ALB server group. If you increase the weight of an ECS instance, the number of access requests that are forwarded to the ECS instance increases. If you set the weight to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by the ECS instance after the instance is added to ALB server group N. Valid values: 1 to 65535.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group.'."\n" - ."\n" - .'> If the N values are the same but the port numbers are different, the system associates multiple ports in the scaling group with ALB server group N.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -17613,412 +14445,233 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity in which Auto Scaling associates the ALB server group with the scaling group and adds ECS instances in the scaling group to the ALB server group. This parameter is valid only when 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-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachAlbServerGroupsResponse>\\n <ScalingActivityId>asa-2ze6wxj8vsohn6j9****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</AttachAlbServerGroupsResponse>","errorExample":""}]', - 'title' => 'AttachAlbServerGroups', - 'description' => '## Description'."\n" - ."\n" - .'Before you associate an ALB server group with a scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The scaling group resides in a virtual private cloud (VPC). The scaling group and the ALB server group that you want to associate must reside in the same VPC.'."\n" - .'* The ALB server group is in the Available state.'."\n" - .'* You can associate only a limited number of ALB server groups with a scaling group. To view the available quota or manually request a quota increase, go to the [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CreateEciScalingConfiguration' => [ - 'summary' => '创建一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyAlertConfiguration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyEciScalingConfiguration' => [ + 'summary' => 'Modifies a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92654', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92705', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to create the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.', '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 the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'scalingconfig****', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, and the following special characters: underscores (_), hyphens (-), and periods (.). The name must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'The name of the scaling configuration 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, 'docRequired' => true, 'example' => 'test-modify', 'title' => ''], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which you want to associate the elastic container instance. Elastic container instances that are associated with the same security group can access 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 declared container protocols and port numbers to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The ID of the security group to which the ECI instance belongs. ECI instances in the same security group can access each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you select. Make sure that the inbound rules of the security group contain the protocols and ports that the containers need to expose. If no default security group exists in the region, the system uses automatic creation to create a default security group and adds the container protocols and ports that you declare to the inbound rules of the security group.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'nginx-test', - ], + 'schema' => ['description' => 'The name of the ECI instance, which is also the container group name. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + .'- The name can contain lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test', 'title' => ''], ], [ 'name' => 'RestartPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Always: always restart the elastic container instance.'."\n" - .'* Never: never restart the elastic container instance.'."\n" - .'* OnFailure: restart the elastic container instance upon failures.'."\n" - ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'schema' => ['description' => 'The restart policy of the instance. Valid values:'."\n" + .'- Always: always restarts the instance.'."\n" + .'- Never: never restarts the instance.'."\n" + .'- OnFailure: restarts the instance upon failure.'."\n" + ."\n" + .'Default value: Always.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs that you want to allocate to the elastic container instance. Unit: cores.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that you want to allocate to the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The memory size at the instance level. Unit: GiB.', '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****', - ], + 'schema' => ['description' => 'The resource group ID.', '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: use the DNS that is specified for the DnsConfig field.'."\n" - .'* Default: use the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: uses the DNS configured by the DnsConfig field.'."\n" + .'- Default: inherits the DNS settings from the runtime environment.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The image cache ID.', 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that you want to associate with the elastic container instance. You can use an instance 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', - ], + 'schema' => ['description' => 'The name of the instance RAM role. ECI and ECS share the same instance RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).', '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', - ], + 'schema' => ['description' => 'The buffer time during which a program handles operations before the program is stopped. Unit: seconds.', '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', - ], + 'schema' => ['description' => 'Specifies whether to automatically match image caches. Valid values:'."\n" + .'- true: Automatically matches image caches.'."\n" + .'- false: Does not automatically match image caches.'."\n" + ."\n" + .'Default value: false.', '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', - ], + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ActiveDeadlineSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is 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" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', - ], + 'schema' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance that uses the market price at the time of purchase as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'SpotPriceLimit', 'title' => ''], ], [ 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can contain up to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'schema' => ['description' => 'The maximum hourly price of the spot instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create an elastic IP address (EIP) and then bind the EIP to the elastic container instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to automatically create an elastic IP address (EIP) and attach it to the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EipBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', - ], + 'schema' => ['description' => 'The bandwidth of the EIP.'."\n" + ."\n" + .'Default value: 5 Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], ], [ 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The hostname, which is also the container group name.', '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', - ], + 'schema' => ['description' => 'The inbound bandwidth limit. Unit: bytes.', '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', - ], + 'schema' => ['description' => 'The outbound bandwidth limit. Unit: bytes.', '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 only for specific instance types. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', '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 only for specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 indicates that hyper-threading is disabled. For more information, see [Customize CPU options](~~197781~~).', '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 enhanced SSD (ESSD) of the PL1 level is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'The size of the ephemeral storage. ESSD PL1 cloud disks are used by default. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], ], [ 'name' => 'LoadBalancerWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The weight of the backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, 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 and cannot 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 and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.', + 'description' => 'The tag key-value pairs of the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, 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 and cannot 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 and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.', + 'description' => 'The tag key-value pairs of the instance.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\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 contain `http://` or `https://`. The key cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You can specify an empty string as a tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The value cannot start with `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -18026,35 +14679,24 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The information about the image repository.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The information about the image repository.', 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The address of image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ @@ -18062,460 +14704,232 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Set the value to 1.', + 'description' => 'The list of containers in the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Set the value to 1.'."\n", + 'description' => 'The list of containers in the instance.', 'type' => 'object', 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period of the health check. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'ReadinessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the container is checked. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], 'required' => false, - 'example' => '5', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认为值10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], 'Port' => [ - 'description' => 'The port number of the container. Valid values: 1 to 65535.'."\n", + 'description' => 'The exposed ports and protocols.', 'type' => 'array', 'items' => [ - 'description' => 'The port number of the container. Valid values: 1 to 65535.'."\n", + 'description' => 'The exposed ports and protocols.', 'type' => 'object', 'properties' => [ - 'Protocol' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP.'."\n" + .'- UDP.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => '容器运行的根文件系统是否为只读,目前仅支持配置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'EnvironmentVar' => [ - 'description' => 'Information about environment variables.', + 'description' => 'The information about environment variables.', 'type' => 'array', 'items' => [ - 'description' => 'Information about environment variables.', + 'description' => 'The information about environment variables.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). The name cannot start with a digit. Specify the name in the [0-9a-zA-Z] format.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). The name cannot start with a digit. Specify the name in the [0-9a-zA-Z] format.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` 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 up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 301, + 'title' => '', + 'example' => '', ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'If the value of the Command parameter is /bin/bash, you must set this parameter to true.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], + 'LivenessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Default value: false.'."\n" + ."\n" + .'Set this parameter to true when Command is set to `/bin/bash`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/', 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', + 'description' => 'The arguments that correspond to the startup command of the container. A maximum of 10 arguments are supported.', 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], + 'items' => ['description' => 'The arguments that correspond to the startup command of the container. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'Gpu' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.', - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The image of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'Gpu' => ['description' => 'The number of GPUs for the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether this container should allocate a buffer for standard input in the container runtime. If this parameter is not set, reads from standard input in the container will result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.', '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' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], 'VolumeMount' => [ - 'description' => 'Information about the volume mount of the container.', + 'description' => 'The volume mount information.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the volume mount of the container.', + 'description' => 'The volume mount information.', 'type' => 'object', 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: This volume mount does not receive subsequent mounts that are mounted to this volume or subdirectories of this volume by the host.'."\n" - .'* HostToCotainer: This volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToCotainer mount. The volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume. In addition, all volume mounts created by the container are propagated back to the host and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory on which the container mounts the volume.'."\n" - ."\n" - .'>Data in this directory is overwritten by the data on the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the VolumeName parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not sense any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume senses subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume senses mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory to which the volume is mounted in the container.'."\n" + ."\n" + .'><notice>The content in the container mount directory is overwritten by the content of the volume. Use this parameter with caution.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.'."\n" + .'- true: read-only.'."\n" + .'- false: read and write.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'SubPath' => ['description' => 'The sub-path of the volume.', 'type' => 'string', 'required' => false, 'example' => 'data2/', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'LivenessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], 'ReadinessProbe.Exec.Command' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful. Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull an image. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, 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', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether to disconnect standard input streams after a client is disconnected.'."\n" - ."\n" - .'If you set the StdinOnce parameter 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 started again.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores in the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'ReadinessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy of the container. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether the standard input stream remains in the enabling status across multiple attach sessions when standard input is set to true.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input is opened when the container starts and remains empty until the first client attaches to it. It then remains open and accepts data until the client disconnects, at which point standard input undergoes shutdown and remains closed until the container restarts.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'Command' => [ - 'description' => 'The commands that you want to run in the container when you use the CLI to perform probes.', + 'description' => 'The startup commands of the container. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], + 'items' => ['description' => 'The startup commands of the container. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', '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.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], 'LivenessProbe.Exec.Command' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat/tmp/healthy', - ], + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for HTTP Get request detection when the HTTP request method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for HTTP Get request detection when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type for HTTP Get requests when the HTTP request method is used to set the PostStart callback function. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The command to run in the container when the command-line method is used to set the PostStart callback function.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The command to run in the container when the command-line method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '[ "/bin/sh", "-c", "echo Hello from the postStart handler /usr/share/message" ]', 'title' => ''], + 'required' => false, 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for HTTP Get request detection when the HTTP request method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for HTTP Get request detection when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for HTTP Get requests when the HTTP request method is used to set the PreStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The command to run in the container when the command-line method is used to set the PreStop callback function.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The command to run in the container when the command-line method is used to set the PreStop callback function.', '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' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -18523,151 +14937,68 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the volumes.', + 'description' => 'The volume information.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the volumes.', + 'description' => 'The volume information.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the Host file or path. Examples: File, Directory, and Socket.', - 'type' => 'string', - 'required' => false, - 'example' => 'ConfigFileVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path of the NFS volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the mounted file system. By default, the value of this parameter varies based on the script of FlexVolume.', - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the disk volume. We recommend that you specify the `FlexVolume.FsType` parameter instead of the DiskVolume.FsType parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of host directory. For example: File, Directory, Socket, etc.', - 'type' => 'string', - 'required' => false, - 'example' => 'Directory', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specifies whether the NFS volume is read-only. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path to the Host node.', - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/path', - ], - 'FlexVolume.Options' => [ - 'description' => 'The FlexVolume objects. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'If you set the Type parameter to FlexVolume, specify objects in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}` format.', - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.', - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium when you set the Type parameter to EmptyDirVolume. If you leave this parameter empty, the file system that backs the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.', - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], + 'Type' => ['description' => 'The type of the volume. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume.'."\n" + .'- NFSVolume.'."\n" + .'- ConfigFileVolume.'."\n" + .'- FlexVolume.', 'type' => 'string', 'required' => false, 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'DiskVolume的大小。单位:GiB。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'NFS数据卷路径。', 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => '挂载的文件系统类型,默认取决于FlexVolume的script。', 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => '该系统类型不推荐使用,建议您使用`FlexVolume.FsType`参数。', 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'Host目录的类型。例如:File、Directory、Socket等。', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'NFS数据卷是否只读。'."\n" + .'- true:只读。'."\n" + .'- false:可读可写。'."\n" + ."\n" + .'默认值:false。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'Host上的绝对路径。', 'type' => 'string', 'required' => false, 'example' => '/xx/xx/name', 'title' => ''], + 'FlexVolume.Options' => ['description' => 'FlexVolume对象选项列表。为KV形式,采用JSON传递。'."\n" + ."\n" + .'例如:通过FlexVolume挂载云盘时,Options的格式为`{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`。', 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => '用于FlexVolume的驱动程序名称。', 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'NFS服务器地址。', 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-n****.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'DiskVolume的ID。', 'type' => 'string', 'required' => false, 'example' => 'd-xx', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'EmptyDirVolume的存储媒介,默认为空,使用node文件系统;支持memory,表示使用内存。', 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], 'ConfigFileVolumeConfigFileToPath' => [ - 'description' => 'The paths to the configuration files.', + 'description' => 'The list of configuration file paths.', 'type' => 'array', 'items' => [ - 'description' => 'The paths to the configuration files.', + 'description' => 'The list of configuration file paths.', 'type' => 'object', 'properties' => [ - 'Path' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. Specify the name in the `[0-9a-zA-Z]` format. The name can contain underscores and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Mode' => [ - 'description' => 'The permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file, which can be up to 32 KB in size.', - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], + 'Path' => ['description' => 'The relative file path.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk=', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 90, + 'title' => '', + 'example' => '', ], - 'EmptyDirVolume.SizeLimit' => [ - 'type' => 'string', - ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'EmptyDir数据卷的大小。取值时请带上单位,建议使用Gi或Mi。', 'type' => 'string', 'required' => false, 'example' => '256 Mi', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -18675,181 +15006,118 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The init containers.', + 'description' => 'The list of init containers.', 'type' => 'array', 'items' => [ - 'description' => 'The init containers.'."\n", + 'description' => 'The list of init containers.', 'type' => 'object', 'properties' => [ 'InitContainerEnvironmentVar' => [ - 'description' => 'The environment variables of the init container.', + 'description' => 'The information about environment variables.', 'type' => 'array', 'items' => [ - 'description' => 'The environment variables of the init container.', + 'description' => 'The information about environment variables.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. Specify the key in the `[0-9a-zA-Z]` format. The key must be 1 to 128 characters in length. The key can contain underscores (_) and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` 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 up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 301, + 'title' => '', + 'example' => '', ], 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'>NET_RAW默认不支持,需提交工单申请。', 'type' => 'array', - 'items' => [ - 'description' => 'The permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'>To use NET_RAW, you must submit a ticket.', - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'>NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], 'InitContainerVolumeMount' => [ - 'description' => 'Information about the volume mounts of the init container.', + 'description' => 'The volume mount information.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the volume mounts of the init container.', + 'description' => 'The volume mount information.', 'type' => 'object', 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume . Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'- None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path to which the volume is mounted. Data under this path is overwritten by the data on the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The elastic container instance can mount different directories of the same volume to different subdirectories of containers.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', - ], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not sense any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume senses subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume senses mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory.'."\n" + ."\n" + .'><notice>The content in the container mount directory is overwritten by the content of the volume. Use this parameter with caution.'."\n" + .'></notice>.', 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + .'- true: read-only.'."\n" + .'- false: read and write.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'required' => false, 'example' => 'test-empty', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local', - ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'required' => false, 'example' => '/usr/local', 'title' => ''], 'Command' => [ - 'description' => 'The list of commands that you want to run to start the container.', + 'description' => 'The startup commands of the container.', 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], + 'items' => ['description' => 'The startup commands of the container.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', + 'description' => 'The startup arguments of the container.', 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'items' => ['description' => 'The startup arguments of the container.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The size of the memory. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-init', - ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs for the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -18857,16 +15125,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IP addresses of the DNS servers.', + 'description' => 'The list of IP addresses of DNS servers.', 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.**', - ], + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'example' => '172.10.*.**', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -18874,16 +15139,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The DNS lookup domains.', + 'description' => 'The list of DNS search domains.', 'type' => 'array', - 'items' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes', - ], + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -18891,29 +15153,23 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The options. Each option is in the name-value pair format. The value in the name-value pair is optional.', + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', 'type' => 'array', 'items' => [ - 'description' => 'The options. Each option is in the name-value pair format. The value in the name-value pair is optional.', + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the option.', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable value of the option.', - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], + 'Value' => ['description' => 'The value of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The name of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -18921,35 +15177,31 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.', + 'description' => 'The custom hostname mapping for a container in the instance.', 'type' => 'array', 'items' => [ - 'description' => 'The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.', + 'description' => 'The custom hostname mapping for a container in the instance.', 'type' => 'object', 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], + 'Ip' => ['description' => 'The IP address to add.', 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX', 'title' => ''], 'Hostname' => [ - 'description' => 'The hostname that you want to add.', + 'description' => 'The hostname to add.', 'type' => 'array', - 'items' => [ - 'description' => 'The hostname that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => 'hehe.com', - ], + 'items' => ['description' => 'The hostname to add.', 'type' => 'string', 'required' => false, 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], 'required' => false, 'maxItems' => 51, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ @@ -18957,29 +15209,23 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', + 'description' => 'The security context in which the container group runs.', 'type' => 'array', 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', + 'description' => 'The security context in which the container group runs.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', - ], + 'Value' => ['description' => 'The contextual variable value of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ @@ -18987,16 +15233,13 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.', + 'description' => 'The NTP server.', 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the NTP server.', - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', - ], + 'items' => ['description' => 'The NTP server.', 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ @@ -19004,126 +15247,130 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', + 'description' => 'The information about the ACR Enterprise instance.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', + 'description' => 'The information about the ACR Enterprise instance.', 'type' => 'object', 'properties' => [ 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', + 'description' => 'The domain name of the ACR Enterprise instance. By default, all domain names of the instance are used. You can specify individual domain names. Separate multiple domain names with commas (,).', 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], + 'items' => ['description' => 'The domain name of the ACR Enterprise instance. By default, all domain names of the instance are used. You can specify individual domain names. Separate multiple domain names with commas (,).', '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.', - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'acr-test', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'RegionId' => ['description' => 'The region of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'CostOptimization', 'in' => 'query', - 'allowEmptyValue' => false, - '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', - ], + 'schema' => ['description' => 'Specifies whether to enable cost optimization. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'InstanceFamilyLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances 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: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: shared instance types. Lower cost, but instance computing performance is not guaranteed to be stable. Applicable to scenarios with low CPU usage. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level instance types. Stable performance with dedicated resources. Applicable to scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: burstable instance types. CPU credits are used to ensure computing performance. Applicable to scenarios with low average CPU usage and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'ContainersUpdateType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The control request parameter for the Containers parameter update method. Valid values:'."\n" + ."\n" + .'- RenewUpdate: full update. The Containers request parameters in the update request overwrite the existing Containers parameter configurations.'."\n" + .'- IncrementalUpdate: incremental update. Containers are matched by Containers.Name, and only the request parameters specified in the request are updated. Parameters that are not specified are not updated.'."\n" + ."\n" + .'Default value: RenewUpdate.', 'type' => 'string', 'required' => false, 'example' => 'RenewUpdate', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Create instances by specifying ECS instance types](~~114664~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'DataCacheBucket', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ 'name' => 'DataCachePL', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => '数据缓存使用的云盘的性能等级。建议优先使用ESSD云盘,该云盘的性能等级取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'默认值:PL1。'."\n" + .'>关于ESSD云盘的更多信息,请参见[ESSD云盘](~~122389~~)。', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk when the data cache uses an ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline performance}, where Baseline performance = min{1800 + 50 × Capacity, 50000}.'."\n" + ."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], ], [ 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'Specifies whether to enable burst (performance bursting) when the data cache uses an ESSD AutoPL disk. Valid values:'."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" + ."\n" + .'Default value: false.'."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'GpuDriverVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The GPU driver version. Valid values:'."\n" + .'- tesla=470.82.01 (default)'."\n" + .'- tesla=525.85.12'."\n" + ."\n" + .'> Only specific instance types support switching the GPU driver version. For more information, see [Create instances by specifying GPU specifications](~~2579486~~).', 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to overwrite. Valid values:'."\n" + ."\n" + .'- true: Overwrite.'."\n" + .'- false: Do not overwrite.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -19131,80 +15378,114 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'eci-uf6fonnghi50u374****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', - ], + 'RequestId' => ['description' => 'The request ID, which is a unique identifier.', 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', - ], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateEciScalingConfigurationResponse>\\n <ScalingConfigurationId>eci-uf6fonnghi50u374****</ScalingConfigurationId>\\n <RequestId>89945DD3-9072-47D0-A318-353284CF****</RequestId>\\n</CreateEciScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'CreateEciScalingConfiguration', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling configuration', + 'description' => '## Operation description'."\n" ."\n" - .'A scaling configuration is a template that is used to create elastic container instances during scale-out activities.'."\n" + .'- If you modify the name of a scaling configuration, make sure that no scaling configuration with the same name exists in the same scaling group.'."\n" ."\n" - .'You can specify the Cpu and Memory parameters to determine the range of instance types. Then, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that has the lowest price. This method is available only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - ], - 'DeleteEciScalingConfiguration' => [ - 'summary' => '删除一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- You can call [DescribeEciScalingConfigurations](~~426144~~) to query and verify the modification result.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to perform the specified action.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the disk size limit.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter is duplicated.|The scaling configuration name already exists.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified Security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and vSwitch do not belong to the same VPC.|'."\n" + .'|400|InvalidTags.KeyValue|The specified tags key/value cannot be empty.|The Tags parameter is required.|'."\n" + .'|400|InvalidTags.ListSize|The specified tags list size cannot be more than "20".|The number of tags exceeds the maximum limit.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData parameter does not conform to the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData is too long.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyInstanceAttribute' => [ + 'summary' => 'Modifies partial information of an ECS instance in a scaling group by calling the ModifyInstanceAttribute API. Currently, only the lifecycle management property of instances manually added to a scaling group can be modified, allowing Auto Scaling to manage ECS instances in the scaling group more flexibly.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92663', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', - ], + 'abilityTreeCode' => '201545', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp1bx8mzur534edp****', - ], + 'schema' => ['description' => 'The ID of the ECS instance in the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + ], + [ + 'name' => 'Entrusted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to entrust the lifecycle of a manually added ECS instance to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Entrusted. The lifecycle of the instance is managed by Auto Scaling, the same as instances of automatic creation in the scaling group. The instance is subject to automatic release when removed from the scaling group (excluding instances removed by invoking the DetachInstances operation).'."\n" + .'- false: Not entrusted. The instance is not released when removed from the scaling group.'."\n" + ."\n" + .'> This parameter is supported only for instances manually added to the scaling group, not for instances created within the scaling group.', 'type' => 'boolean', 'docRequired' => true, 'required' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the request. This request ID is returned regardless of whether the request is successful.', - 'type' => 'string', + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], @@ -19213,142 +15494,129 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'auditing', - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify partial information of an ECS instance in a scaling group', + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B0****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteEciScalingConfigurationResponse>\\n <RequestId>45D5B0AD-3B00-4A9B-9911-6D5303B0****</RequestId>\\n</DeleteEciScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'DeleteEciScalingConfiguration', - ], - 'DescribeEciScalingConfigurations' => [ - 'summary' => '查询ECI类型伸缩组的伸缩配置信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ], ], + ], + 'ModifyLifecycleHook' => [ + 'summary' => 'Modifies the information of a lifecycle hook.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92673', - 'abilityTreeNodes' => [ - 'FEATUREessU7F1S4', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '92706', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling configurations that you want to query belong.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook that you want to modify. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp1fxuqyi98w0aib****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ScalingGroupId', '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', - 'default' => '1', - ], + 'schema' => ['description' => 'The ID of the scaling group. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'LifecycleHookName', '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', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The name of the lifecycle hook that you want to modify. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'test_SCAL****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DefaultResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], + 'schema' => ['description' => 'The action that Auto Scaling takes when the lifecycle hook times out. Valid values: '."\n" + ."\n" + .'- CONTINUE: Auto Scaling continues to response to scale-out or scale-down activities.'."\n" + .'- ABANDON: Auto Scaling releases the ECS instances that are created during scale-out activities or removes the ECS instances from the scaling group during scale-down activities.'."\n" + .'- ROLLBACK: For scale-down activities, Auto Scaling rejects the release of ECS instances and performs a rollback. For scale-out activities, Auto Scaling releases the created ECS instances, which has the same effect as ABANDON.'."\n" + ."\n" + .'When a scale-down activity (SCALE_IN) occurs in a scaling group and triggers multiple lifecycle hooks, if the DefaultResult of a lifecycle hook is set to ABANDON or ROLLBACK and the wait state of the hook ends, the wait states of the other lifecycle hooks end early. In other cases, the action is determined by the last lifecycle hook whose wait state ends.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationId', + 'name' => 'HeartbeatTimeout', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling configurations that you want to query.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can differentiate between active and inactive scaling configurations based on the value of the LifecycleState parameter.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can differentiate between active and inactive scaling configurations based on the value of the LifecycleState parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The wait time that the lifecycle hook sets for the scaling activity. After the wait state times out, the default action is taken. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'You can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait time for an ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of a scaling activity early.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'LifecycleTransition', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The name of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.', - 'type' => 'array', - 'items' => [ - 'description' => 'The name of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\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****', - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + .'- SCALE_OUT: scale-out activities of the scaling group.'."\n" + .'- SCALE_IN: scale-down activities of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_IN', 'title' => ''], + ], + [ + 'name' => 'NotificationMetadata', + 'in' => 'query', + 'schema' => ['description' => 'The fixed string information that is associated with the wait state of a scaling activity. The parameter value cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'Each time Auto Scaling pushes a message to the Notification Recipient, it also sends the NotificationMetadata parameter value that you specify. This helps you manage and mark notifications of different categories. The NotificationMetadata parameter takes effect only when you also specify the NotificationArn parameter.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The identifier of the Notification Recipient for the lifecycle hook. This parameter supports the following notification methods:'."\n" + .'- Simple Message Queue (formerly MNS) queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- Simple Message Queue (formerly MNS) topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template: `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge: `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the parameter format are described as follows:'."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the Simple Message Queue (formerly MNS) queue.'."\n" + .'- topicname: the name of the Simple Message Queue (formerly MNS) topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookStatus', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The status to which you want to change the lifecycle hook. Valid values:'."\n" + .'- Active: starts the lifecycle hook.'."\n" + .'- InActive: pauses the lifecycle hook.'."\n" + ."\n" + .'If you do not specify this parameter, the lifecycle hook retains its current status.'."\n" + .'>After a lifecycle hook is created, it is in the Active state by default.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], ], ], 'responses' => [ @@ -19356,1205 +15624,140 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => 'The 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' => 'Details of the scaling configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when 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 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. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy for the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'AutoCreateEip' => [ - 'description' => 'Indicates whether an elastic IP address (EIP) is automatically created, and then bound to the elastic container instance.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group in which the scaling configuration is created.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - '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', - ], - '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 size of the memory.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to specify the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory **parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to create instances only if the **Scaling Policy** parameter is set to **Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16', - ], - 'RestartPolicy' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Never: never restarts the elastic container instance.'."\n" - .'* Always: always restarts the elastic container instance.'."\n" - .'* OnFailure: restarts the elastic container instance upon failures.'."\n", - 'type' => 'string', - 'example' => 'Never', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the preemptible elastic container instance.'."\n" - ."\n" - .'This parameter is returned only if you set the **SpotStrategy** parameter 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. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The buffer time during which the program handles operations before the program stops.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of the elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. 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 name of the host.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - 'EgressBandwidth' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'RegionId' => [ - 'description' => 'The region ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RamRoleName' => [ - 'description' => 'The name of the instance RAM role. You can use an instance RAM role to access both elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole', - ], - '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.'."\n" - ."\n" - .'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 of the elastic container instance.'."\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 [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - '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 were sent.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'ReadinessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for a probe to be considered successful after having failed. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LivenessProbePeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LivenessProbeTcpSocketPort' => [ - 'description' => 'The port number of TcpSocket.'."\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 probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'Tty' => [ - 'description' => 'Indicates whether interaction is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'If the value of the **Command **parameter is **/bin/bash**, the value of this parameter must be set to true.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'LivenessProbeHttpGetPort' => [ - 'description' => 'The port to which HTTP GET requests were sent.'."\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 between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container runs. If this parameter is not specified, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size of the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'LivenessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests were sent.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'mysql', - ], - 'ReadinessProbeTcpSocketPort' => [ - 'description' => 'The port number of TcpSocket.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - 'ReadinessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'ReadinessProbeHttpGetPort' => [ - 'description' => 'The path to which HTTP GET requests were sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '/usr/nginx/', - ], - 'LivenessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for a probe to be considered successful after having failed. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a 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 between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbePeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Image pulling is performed each time.'."\n" - .'* IfNotPresent: Image pulling is performed only if on-premises images are unavailable. 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 during multiple sessions.'."\n" - ."\n" - .'When 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 in the disconnected state until the container is started again.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'LivenessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for a probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LivenessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for a probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Ports' => [ - 'description' => 'The exposed ports and protocols of the 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' => '8888', - ], - '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' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.'."\n", - 'type' => 'string', - 'example' => 'data2/', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the **Volumes.Name** parameter.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory on which the volume is mounted.'."\n" - ."\n" - .'> Data in this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/pod/data', - ], - ], - ], - ], - 'EnvironmentVars' => [ - 'description' => 'Information about 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/', - ], - ], - ], - ], - '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 commands that are run in the container when you use the CLI to perform probes.', - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'LivenessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the command-line interface (CLI) to perform probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use the command-line interface (CLI) to perform probes.', - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'Args' => [ - 'description' => 'The arguments that are passed to the container startup commands. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that are passed to the container startup commands. You can specify up to 10 arguments.', - 'type' => 'string', - 'example' => '100', - ], - ], - 'ReadinessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform probes.', - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.', - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerExecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerExecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - 'InitContainers' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.', - '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.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that are allocated to the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the container.'."\n", - 'type' => 'string', - 'example' => '587', - ], - 'Memory' => [ - 'description' => 'The size of the memory.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'test-init', - ], - 'InitContainerEnvironmentVars' => [ - 'description' => 'Information about 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/local/bin', - ], - ], - ], - ], - 'InitContainerVolumeMounts' => [ - 'description' => 'The volumes that are mounted on the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of containers.'."\n", - 'type' => 'string', - 'example' => '/usr/sub/', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. Data in this directory is overwritten by the data on the volume. Proceed with caution if you use this parameter.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - ], - ], - ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.', - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'InitContainerCommands' => [ - 'description' => 'The container startup commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup commands.', - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'InitContainerArgs' => [ - 'description' => 'The container startup arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup arguments.', - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - 'Tags' => [ - 'description' => 'The tags of the elastic container instance. The 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 format.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => '3', - ], - ], - ], - ], - 'Volumes' => [ - 'description' => 'Information about volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about volumes.', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the volume. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '15', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The file system type of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage medium when the **Type** parameter is set to **EmptyDirVolume**. This parameter is left empty by default. If this parameter is left empty, the file system that backs the node is used as the storage medium. If this parameter is set to **memory**, the memory is used as the storage medium.'."\n", - 'type' => 'string', - 'example' => 'memory', - ], - 'NFSVolumePath' => [ - 'description' => 'The path to the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'example' => '/share', - ], - 'DiskVolumeDiskSize' => [ - 'description' => 'The storage 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 file system type when the **Type** parameter is set to **FlexVolume**. The default value is determined by the script of the FlexVolume plug-in.'."\n", - 'type' => 'string', - 'example' => 'ext4', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the volume when the **Type** parameter is set to **ConfigFileVolume**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the driver when the **Type** parameter is set to **FlexVolume**.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The options when the **Type** parameter is set to **FlexVolume**. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'When you use the FlexVolume plug-in 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 name of the volume.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The paths to configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative file path.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'Mode' => [ - 'description' => 'The permissions on the directory when the **Type** parameter is set to **ConfigFileVolume**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file (32 KB).'."\n", - 'type' => 'string', - 'example' => 'bGl1bWk=', - ], - ], - ], - ], - 'EmptyDirVolumeSizeLimit' => [ - 'type' => 'string', - ], - 'HostPathVolumeType' => [ - 'type' => 'string', - ], - 'HostPathVolumePath' => [ - 'type' => 'string', - ], - ], - ], - ], - 'ImageRegistryCredentials' => [ - 'description' => 'The password that is used to access the image repository.', - 'type' => 'array', - 'items' => [ - 'description' => 'The password that is used to access the image repository.', - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The username that is used to access the image repository.', - 'type' => 'string', - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'string', - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'string', - 'example' => 'yourusername', - ], - ], - ], - ], - '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.', - '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 of a container that are added to the hosts file of the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostnames and IP addresses of a container that are added to the hosts file of the elastic container instance.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that is added.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'Hostnames' => [ - 'description' => 'The hostnames that are added.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostnames that are added.', - '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.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The 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' => 'Information about the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - '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 instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - ], - ], - ], - ], - 'DnsConfigNameServers' => [ - 'description' => 'The IP addresses of the DNS server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS server.', - 'type' => 'string', - 'example' => '172.10.*.**', - ], - ], - 'DnsConfigSearches' => [ - 'description' => 'The lookup domains of the DNS server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lookup domains of the DNS server.', - 'type' => 'string', - 'example' => 'svc.local.kubenetes', - ], - ], - 'NtpServers' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.', - 'type' => 'string', - 'example' => 'ntp.cloud.aliyuncs.com', - ], - ], - '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. Auto Scaling does not use the inactive scaling configuration to automatically create elastic container instances. Inactive scaling configurations are retained in the scaling group.'."\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 instance family level, which is used to filter instance types that meet the requirements. This parameter is returned when the `CostOptimization` parameter is set to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances 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: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is available only for burstable instances. CPU credits are used to ensure computing performance. Instances 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' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'DataCacheBucket' => [ - 'type' => 'string', - ], - 'DataCachePL' => [ - 'type' => 'string', - ], - 'DataCacheProvisionedIops' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DataCacheBurstingEnabled' => [ - 'type' => 'boolean', - ], - 'GpuDriverVersion' => [ - 'type' => 'string', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a lifecycle hook', + 'description' => '## Operation description'."\n" + ."\n" + .'You can specify the lifecycle hook to modify in one of the following ways:'."\n" + ."\n" + .'- Specify only the lifecycle hook ID (LifecycleHookId). The scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName) parameters are ignored.'."\n" + ."\n" + .'- Specify both the scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName), because the lifecycle hook name is unique within a scaling group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidLifecycleHookId.NotExist|The specified lifecycleHookId not exist.|The specified LifecycleHookId does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.NotExist|The specified lifecycleHookName you provided not exist.|The specified LifecycleHookName does not exist.|'."\n" + .'|400|InvalidNotificationArn|The specified parameter NotificationArn is invalid.|The specified NotificationArn does not exist.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The NotificationType is not supported in the special region which scalingGroup belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|LifecycleHook|The specified queue does not exist.|The specified Simple Message Queue (formerly MNS) queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic does not exist.|The specified Simple Message Queue (formerly MNS) topic does not exist.', + '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' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\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 \\"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 \\"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 \\"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 }\\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 \\"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 }\\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\\": \\"3f9cd4****-na***.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\\": \\"256 Mi\\",\\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\\"\\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}","errorExample":""},{"type":"xml","example":"<DescribeEciScalingConfigurationsResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <TotalCount>1</TotalCount>\\n <ScalingConfigurations>\\n <CreationTime>2014-08-14T10:58Z</CreationTime>\\n <ScalingConfigurationName>scalingconfi****</ScalingConfigurationName>\\n <SecurityGroupId>sg-bp18kz60mefs****</SecurityGroupId>\\n <ActiveDeadlineSeconds>1000</ActiveDeadlineSeconds>\\n <SpotStrategy>NoSpot</SpotStrategy>\\n <AutoCreateEip>true</AutoCreateEip>\\n <ScalingGroupId>asg-bp17pelvl720x3v7****</ScalingGroupId>\\n <EphemeralStorage>20</EphemeralStorage>\\n <Ipv6AddressCount>1</Ipv6AddressCount>\\n <EipBandwidth>5</EipBandwidth>\\n <ImageSnapshotId>imc-2zebxkiifuyzzlhl****</ImageSnapshotId>\\n <Memory>16</Memory>\\n <RestartPolicy>Never</RestartPolicy>\\n <SpotPriceLimit>0.025</SpotPriceLimit>\\n <IngressBandwidth>1024000</IngressBandwidth>\\n <CpuOptionsThreadsPerCore>2</CpuOptionsThreadsPerCore>\\n <TerminationGracePeriodSeconds>60</TerminationGracePeriodSeconds>\\n <LoadBalancerWeight>1</LoadBalancerWeight>\\n <DnsPolicy>Default</DnsPolicy>\\n <HostName>[\'hehe.com\', \'haha.com\']</HostName>\\n <EgressBandwidth>1024000</EgressBandwidth>\\n <RegionId>cn-hangzhou</RegionId>\\n <RamRoleName>ram:PassRole</RamRoleName>\\n <Cpu>2</Cpu>\\n <AutoMatchImageCache>false</AutoMatchImageCache>\\n <ResourceGroupId>rg-8db03793gfrz****</ResourceGroupId>\\n <ContainerGroupName>test</ContainerGroupName>\\n <ScalingConfigurationId>asc-bp1ezrfgoyn5kijl****</ScalingConfigurationId>\\n <CpuOptionsCore>2</CpuOptionsCore>\\n <Containers>\\n <ReadinessProbeHttpGetPath>/usr/local</ReadinessProbeHttpGetPath>\\n <ReadinessProbeSuccessThreshold>1</ReadinessProbeSuccessThreshold>\\n <LivenessProbePeriodSeconds>5</LivenessProbePeriodSeconds>\\n <LivenessProbeTcpSocketPort>80</LivenessProbeTcpSocketPort>\\n <LivenessProbeHttpGetScheme>HTTP</LivenessProbeHttpGetScheme>\\n <WorkingDir>/usr/local/nginx</WorkingDir>\\n <Tty>false</Tty>\\n <LivenessProbeHttpGetPort>80</LivenessProbeHttpGetPort>\\n <Gpu>1</Gpu>\\n <ReadinessProbeInitialDelaySeconds>5</ReadinessProbeInitialDelaySeconds>\\n <Stdin>true</Stdin>\\n <Memory>2</Memory>\\n <Name>nginx</Name>\\n <LivenessProbeHttpGetPath>/usr/nginx/</LivenessProbeHttpGetPath>\\n <Image>mysql</Image>\\n <ReadinessProbeTcpSocketPort>8888</ReadinessProbeTcpSocketPort>\\n <ReadinessProbeHttpGetScheme>HTTP</ReadinessProbeHttpGetScheme>\\n <LivenessProbeSuccessThreshold>1</LivenessProbeSuccessThreshold>\\n <ReadinessProbeTimeoutSeconds>5</ReadinessProbeTimeoutSeconds>\\n <SecurityContextRunAsUser>1000</SecurityContextRunAsUser>\\n <LivenessProbeInitialDelaySeconds>10</LivenessProbeInitialDelaySeconds>\\n <ReadinessProbePeriodSeconds>1</ReadinessProbePeriodSeconds>\\n <ImagePullPolicy>Always</ImagePullPolicy>\\n <StdinOnce>true</StdinOnce>\\n <Cpu>2</Cpu>\\n <LivenessProbeTimeoutSeconds>10</LivenessProbeTimeoutSeconds>\\n <ReadinessProbeFailureThreshold>3</ReadinessProbeFailureThreshold>\\n <LivenessProbeFailureThreshold>3</LivenessProbeFailureThreshold>\\n <Ports>\\n <Port>8888</Port>\\n <Protocol>TCP</Protocol>\\n </Ports>\\n <VolumeMounts>\\n <ReadOnly>false</ReadOnly>\\n <SubPath>data2/</SubPath>\\n <Name>default-volume1</Name>\\n <MountPropagation>None</MountPropagation>\\n <MountPath>/pod/data</MountPath>\\n </VolumeMounts>\\n <EnvironmentVars>\\n <Key>PATH</Key>\\n <Value>/usr/bin/</Value>\\n </EnvironmentVars>\\n <Commands>sleep</Commands>\\n <LivenessProbeExecCommands>cat/tmp/healthy</LivenessProbeExecCommands>\\n <Args>100</Args>\\n <ReadinessProbeExecCommands>cat/tmp/healthy</ReadinessProbeExecCommands>\\n <SecurityContextCapabilityAdds>NET_ADMIN</SecurityContextCapabilityAdds>\\n <LifecyclePostStartHandlerHttpGetHost>10.0.XX.XX</LifecyclePostStartHandlerHttpGetHost>\\n <LifecyclePostStartHandlerHttpGetPort>80</LifecyclePostStartHandlerHttpGetPort>\\n <LifecyclePostStartHandlerHttpGetPath>/healthyz</LifecyclePostStartHandlerHttpGetPath>\\n <LifecyclePostStartHandlerHttpGetScheme>HTTP</LifecyclePostStartHandlerHttpGetScheme>\\n <LifecyclePostStartHandlerExecs>[ \\"/bin/sh\\", \\"-c\\", \\"echo Hello from the preStop handler /usr/share/message\\" ]</LifecyclePostStartHandlerExecs>\\n <LifecyclePostStartHandlerTcpSocketHost>10.0.XX.XX</LifecyclePostStartHandlerTcpSocketHost>\\n <LifecyclePostStartHandlerTcpSocketPort>80</LifecyclePostStartHandlerTcpSocketPort>\\n <LifecyclePreStopHandlerHttpGetHost>10.0.XX.XX</LifecyclePreStopHandlerHttpGetHost>\\n <LifecyclePreStopHandlerHttpGetPort>80</LifecyclePreStopHandlerHttpGetPort>\\n <LifecyclePreStopHandlerHttpGetPath>/healthyz</LifecyclePreStopHandlerHttpGetPath>\\n <LifecyclePreStopHandlerHttpGetScheme>HTTP</LifecyclePreStopHandlerHttpGetScheme>\\n <LifecyclePreStopHandlerExecs>[ \\"/bin/sh\\", \\"-c\\", \\"echo Hello from the preStop handler /usr/share/message\\" ]</LifecyclePreStopHandlerExecs>\\n <LifecyclePreStopHandlerTcpSocketHost>10.0.XX.XX</LifecyclePreStopHandlerTcpSocketHost>\\n <LifecyclePreStopHandlerTcpSocketPort>80</LifecyclePreStopHandlerTcpSocketPort>\\n </Containers>\\n <InitContainers>\\n <SecurityContextReadOnlyRootFilesystem>true</SecurityContextReadOnlyRootFilesystem>\\n <ImagePullPolicy>Always</ImagePullPolicy>\\n <WorkingDir>/usr/local</WorkingDir>\\n <Cpu>0.5</Cpu>\\n <Image>nginx</Image>\\n <Gpu>1</Gpu>\\n <SecurityContextRunAsUser>587</SecurityContextRunAsUser>\\n <Memory>1</Memory>\\n <Name>test-init</Name>\\n <InitContainerEnvironmentVars>\\n <Key>PATH</Key>\\n <Value>/usr/local/bin</Value>\\n </InitContainerEnvironmentVars>\\n <InitContainerVolumeMounts>\\n <ReadOnly>false</ReadOnly>\\n <SubPath>/usr/sub/</SubPath>\\n <Name>test-empty</Name>\\n <MountPropagation>None</MountPropagation>\\n <MountPath>/usr/share/</MountPath>\\n </InitContainerVolumeMounts>\\n <SecurityContextCapabilityAdds>NET_ADMIN</SecurityContextCapabilityAdds>\\n <InitContainerCommands>sleep</InitContainerCommands>\\n <InitContainerArgs>10</InitContainerArgs>\\n </InitContainers>\\n <Tags>\\n <Key>version</Key>\\n <Value>3</Value>\\n </Tags>\\n <Volumes>\\n <Type>EmptyDirVolume</Type>\\n <DiskVolumeDiskId>15</DiskVolumeDiskId>\\n <DiskVolumeFsType>xfs</DiskVolumeFsType>\\n <EmptyDirVolumeMedium>memory</EmptyDirVolumeMedium>\\n <NFSVolumePath>/share</NFSVolumePath>\\n <DiskVolumeDiskSize>15</DiskVolumeDiskSize>\\n <NFSVolumeReadOnly>false</NFSVolumeReadOnly>\\n <FlexVolumeFsType>ext4</FlexVolumeFsType>\\n <ConfigFileVolumeDefaultMode>644</ConfigFileVolumeDefaultMode>\\n <FlexVolumeDriver>flexvolume</FlexVolumeDriver>\\n <FlexVolumeOptions>{\\"volumeId\\":\\"d-2zehdahrwoa7srg****\\",\\"performanceLevel\\": \\"PL2\\"}</FlexVolumeOptions>\\n <NFSVolumeServer>3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com</NFSVolumeServer>\\n <Name>default-volume1</Name>\\n <ConfigFileVolumeConfigFileToPaths>\\n <Path>/usr/bin/</Path>\\n <Mode>644</Mode>\\n <Content>bGl1bWk=</Content>\\n </ConfigFileVolumeConfigFileToPaths>\\n <EmptyDirVolumeSizeLimit>256 Mi</EmptyDirVolumeSizeLimit>\\n <HostPathVolumeType>Directory</HostPathVolumeType>\\n <HostPathVolumePath>/pod/data</HostPathVolumePath>\\n </Volumes>\\n <ImageRegistryCredentials>\\n <Password>yourpaasword</Password>\\n <Server>registry-vpc.cn-shanghai.aliyuncs.com</Server>\\n <UserName>yourusername</UserName>\\n </ImageRegistryCredentials>\\n <DnsConfigOptions>\\n <Name>name</Name>\\n <Value>value</Value>\\n </DnsConfigOptions>\\n <HostAliases>\\n <Ip>192.0.XX.XX</Ip>\\n <Hostnames>[\'hehe.com\', \'haha.com\']</Hostnames>\\n </HostAliases>\\n <SecurityContextSysCtls>\\n <Name>kernel.msgmax</Name>\\n <Value>65536</Value>\\n </SecurityContextSysCtls>\\n <AcrRegistryInfos>\\n <InstanceId>cri-nwj395hgf6f3****</InstanceId>\\n <InstanceName>acr-test</InstanceName>\\n <RegionId>cn-hangzhou</RegionId>\\n <Domains>*****-****-registry.cn-beijing.cr.aliyuncs.com</Domains>\\n </AcrRegistryInfos>\\n <DnsConfigNameServers>172.10.*.**</DnsConfigNameServers>\\n <DnsConfigSearches>svc.local.kubenetes</DnsConfigSearches>\\n <NtpServers>ntp.cloud.aliyuncs.com</NtpServers>\\n <LifecycleState>Active</LifecycleState>\\n <CostOptimization>false</CostOptimization>\\n <InstanceFamilyLevel>EnterpriseLevel</InstanceFamilyLevel>\\n <InstanceTypes>ecs.g6.large</InstanceTypes>\\n <DataCacheBucket>default</DataCacheBucket>\\n <DataCachePL>PL1</DataCachePL>\\n <DataCacheProvisionedIops>40000</DataCacheProvisionedIops>\\n <DataCacheBurstingEnabled>false</DataCacheBurstingEnabled>\\n <GpuDriverVersion>tesla=470.82.01</GpuDriverVersion>\\n </ScalingConfigurations>\\n</DescribeEciScalingConfigurationsResponse>","errorExample":""}]', - 'title' => 'DescribeEciScalingConfigurations', - ], - 'DetachAlbServerGroups' => [ - 'summary' => '移出一个或多个ALB服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecycleHook'], + ], ], + ], + 'ModifyNotificationConfiguration' => [ + 'summary' => 'Modifies a notification for Auto Scaling events and resource changes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92688', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92707', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides. Examples: cn-hangzhou and cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The identity of the Notification Recipient. The following notification methods are supported when you configure the Settings for this parameter:'."\n" + ."\n" + .'- CloudMonitor monitoring. The parameter value is in the format of `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue. The parameter value is in the format of `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. The parameter value is in the format of `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the parameter format have the following meanings:'."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], + ], + [ + 'name' => 'NotificationType', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8.', + 'type' => 'array', + 'items' => ['description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8.'."\n" + ."\n" + .'- AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_IN_SUCCESS: The scale-in scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_OUT_ERROR: The scale-out scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_IN_ERROR: The scale-in scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_REJECT: The scaling activity was rejected.'."\n" + .'- AUTOSCALING:SCALE_OUT_START: The scale-out scaling activity started.'."\n" + .'- AUTOSCALING:SCALE_IN_START: The scale-in scaling activity started.'."\n" + .'- AUTOSCALING:SCHEDULE_TASK_EXPIRING: A reminder that a scheduled task is about to expire.'."\n" + .'- SCALING_GROUP_DIAGNOSE: Scaling group diagnostics.'."\n" + .'- AUTOSCALING:SCALE_OUT_WARN: The scale-out scaling activity partially succeeded.'."\n" + .'- AUTOSCALG:SCALE_IN_WARN: The scale-down scaling activity partially succeeded.', 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + 'maxItems' => 12, + 'title' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'RegionId', '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 it 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****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'TimeZone', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove existing Elastic Compute Service (ECS) instances from the ALB server group that you want to disassociate from the scaling group.'."\n" - ."\n" - .'* true: removes existing ECS instances and returns the `ScalingActivityId` value. You can view the ID of the scaling activity to determine whether the instances are removed.'."\n" - .'* false: does not remove existing ECS instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The time zone for message notifications.'."\n" + .'The offset relative to Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], ], [ - 'name' => 'AlbServerGroup', + 'name' => 'MessageEncoding', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ALB server groups.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of ALB server group N. N indicates the serial number of the ALB server group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Port' => [ - 'description' => 'The port number used by the ECS instances in ALB server group N. N indicates the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', - ], - ], - 'required' => false, - 'description' => 'The ALB server groups.', - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The encoding method for the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The content is transmitted in plaintext.'."\n" + .'- Base64: Base64 encoding.'."\n" + ."\n" + .'Default value: Base64.'."\n" + ."\n" + .'> This parameter can be set only for MNS Notification Recipient Settings.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ @@ -20562,1531 +15765,1097 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity in which the ALB server group is disassociated from the scaling group and the ECS instances in the ALB server group are removed from the ALB server group. This parameter is valid only when 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', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachAlbServerGroupsResponse>\\n <ScalingActivityId>asa-2ze6wxj8vsohn6j9****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>\\n</DetachAlbServerGroupsResponse>","errorExample":""}]', - 'title' => 'DetachAlbServerGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachAlbServerGroups\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a notification for Auto Scaling events and resource changes', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ModifyEciScalingConfiguration' => [ - 'summary' => '修改一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidNotificationTypes|The specified NotificationType is invalid.|The specified NotificationType.N is invalid.|'."\n" + .'|400|NotificationConfigurationNotExist|The specified notification configuration not exist for the scaling group.|The specified Auto Scaling event and resource change notification type does not exist for the scaling group.|'."\n" + .'|400|InvalidParameter.TimeZone| The specified parameter TimeZone is not valid.|The specified TimeZone parameter is invalid.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNotificationConfiguration'], + ], + ], + '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, which serves as the template for ECS instances to be created during scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92705', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], + 'abilityTreeCode' => '92708', + '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****', - ], + '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 (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test-modify', - ], + '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' => 'SecurityGroupId', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which you want to associate the elastic container instance. Elastic container instances that are associated with 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 select. Make sure that the inbound rules of the security group contain the protocols and the port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system automatically creates a default security group and adds the declared container protocols and port numbers to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The name of the ECS instance that is created by automatic creation based on the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'inst****', 'title' => ''], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name can contain only lowercase letters, digits, and hyphens (-). The name cannot start or end with a hyphen (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'nginx-test', - ], + 'schema' => ['description' => 'The hostname of the Elastic Compute Service (ECS) server. A period (.) or a hyphen (-) cannot be used as the first or last character, or used consecutively. 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 separated by a period (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'hos****', 'title' => ''], ], [ - 'name' => 'RestartPolicy', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Always: always restarts the elastic container instance.'."\n" - .'* Never: never restarts the elastic container instance.'."\n" - .'* OnFailure: restarts the elastic container instance upon failures.'."\n" - ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'schema' => ['description' => 'The ID of the image file used to automatically create instances.'."\n" + ."\n" + .'> If the image previously used in the scaling configuration includes a system cloud disk and data cloud disks, the data cloud disk information is purged after you change the image. This is because automatic creation of instances uses the new image, which does not retain the previous data cloud disk configuration.', '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 specify ImageId, ImageName is ignored.'."\n" + ."\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 of the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The number of vCPUs.'."\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" + .'> This configuration takes effect only when the cost optimization mode 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 of the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The memory size.'."\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" + .'> This configuration takes effect only when the cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: You are charged for the fixed bandwidth that you specify by using InternetMaxBandwidthOut. '."\n" + .'- PayByTraffic: You are charged based on the actual network traffic. InternetMaxBandwidthOut specifies only the maximum outbound bandwidth.', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], ], [ - 'name' => 'DnsPolicy', + 'name' => 'InternetMaxBandwidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: uses the DNS that is specified for the DnsConfig field.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The maximum outbound bandwidth for the public network. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'ImageSnapshotId', + 'name' => 'SystemDisk.Category', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The category of the system 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" + ."\n" + .'You cannot specify this parameter together with SystemDiskCategories.N. If neither this parameter nor SystemDiskCategories.N is specified, the 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 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' => '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://`.', '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 that is 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 ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: A single ESSD 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 of the instance. You can use a 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', - ], + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by RAM. You can call [ListRoles](~~28713~~) to query available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).', 'type' => 'string', 'required' => false, 'example' => 'RamRoleTest', 'title' => ''], ], [ - 'name' => 'TerminationGracePeriodSeconds', + 'name' => 'PasswordInherit', 'in' => 'query', - 'schema' => [ - 'description' => 'The buffer time during which the program handles operations before the program stops. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - ], + '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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'AutoMatchImageCache', + 'name' => 'Tags', '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', - ], + '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 tag keys and values: '."\n" + .' '."\n" + .'- A tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. A tag key cannot be an empty string. '."\n" + .'- A tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. A tag value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'DeploymentSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp13v7bjnj9gis****', 'title' => ''], ], [ - 'name' => 'ActiveDeadlineSeconds', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + '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' => 'SpotStrategy', + 'name' => 'Override', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has 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" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', - ], + 'schema' => ['description' => 'Specifies whether to override the existing data. Valid values:'."\n" + .'- true: overrides the existing data.'."\n" + .'- false: does not override the existing data.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd****', 'title' => ''], ], [ - 'name' => 'AutoCreateEip', + 'name' => 'HpcClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create an elastic IP address (EIP), and then bind the EIP to the elastic container instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], ], [ - 'name' => 'EipBandwidth', + 'name' => 'InstanceDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'The bandwidth of the EIP.'."\n" - ."\n" - .'Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', - ], + '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' => 'HostName', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interfaces (ENIs).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'IngressBandwidth', + 'name' => 'CreditSpecification', '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', - ], + 'schema' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode. For more information, see the performance constrained mode section in [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'- Unlimited: unlimited mode. For more information, see the unlimited mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ - 'name' => 'EgressBandwidth', + 'name' => 'ImageFamily', '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', - ], + 'schema' => ['description' => 'The name of the image family. You can specify this parameter to obtain the latest available image from the specified image family for instance creation. If you have specified ImageId, you cannot specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], ], [ - 'name' => 'CpuOptionsCore', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter only for specific instance types. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], ], [ - 'name' => 'CpuOptionsThreadsPerCore', + 'name' => 'DedicatedHostId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter only for specific instance types. If you set this parameter to 1, Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + '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 you specify DedicatedHostId.'."\n" + ."\n" + .'You can call [DescribeDedicatedHosts](~~134242~~) to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'EphemeralStorage', + 'name' => 'Affinity', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an enhanced SSD (ESSD) of the PL1 level is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + '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 after it is stopped, the instance is deployed 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 after it is stopped, 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' => 'LoadBalancerWeight', + 'name' => 'Tenancy', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the elastic container instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + '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' => 'Tag', + '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 launching the instance. A private pool is generated when 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 system uses resources from the public pool. You do not need to specify PrivatePoolOptions.Id.'."\n" + ."\n" + .'- Target: specified mode. The instance is started by using the capacity of the specified private pool. If the specified private pool is unavailable, the instance fails to start. You must specify the private pool ID, which means that 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 the 1-hour protection period ends, 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. 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 pattern of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], + ], + [ + 'name' => 'DataDisk', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the tags.', + 'description' => 'The list of data cloud disks.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the tags.', + 'description' => 'The list of data cloud disks.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of tag N.'."\n", - 'type' => 'string', + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk is an ESSD. The value of N must be consistent with the N in DataDisk.N.Category=cloud_essd. Valid values:'."\n" + ."\n" + .'- PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: A single ESSD 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 data cloud disk N. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether data cloud disk N is encrypted. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of data cloud disk N. Valid values of N: 1 to 16. 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.', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create data cloud disk N. Valid values of N: 1 to 16. After you specify this parameter, DataDisk.N.Size is ignored. The actual size of the created cloud 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 InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-snapshot****', 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. A scaling configuration supports up to 4 disk types for a data cloud disk. A smaller value of N indicates a higher priority. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts 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" + .'> You cannot specify this parameter together with DataDisk.N.Category.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. A scaling configuration supports up to 4 disk types for a data cloud disk. A smaller value of N indicates a higher priority. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts 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" + ."\n" + .'> You cannot specify this parameter together with DataDisk.N.Category.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '3', + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', ], + 'Size' => ['description' => 'The size of data cloud disk N. Valid values of N: 1 to 16. 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" + .'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 data cloud disk N. Valid values of N: 1 to 16. If you do not specify this parameter, the default behavior during automatic creation of the ECS instance is that the system allocates a mount point, ranging from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of data cloud disk N. Valid values of N: 1 to 16. 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', 'title' => ''], + 'Category' => ['description' => 'The category of data cloud disk N. Valid values of N: 1 to 16. 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" + .'You cannot specify this parameter together with DataDisk.N.Categories.N. If neither this parameter nor DataDisk.N.Categories.N 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 data cloud disk N is released when the instance is released. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: The cloud disk is released when the instance is released.'."\n" + .'- false: The cloud disk is retained when the instance is released.'."\n" + ."\n" + .'This parameter can be specified only for independent cloud disks (DataDisk.N.Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd). An error is returned if you specify this parameter for other types of cloud disks.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for data cloud disk N. Valid values of N: 1 to 16.', '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 refers to the number of read and write (output/input) operations that a block storage device 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 data cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled. '."\n" + .'> This parameter is supported only when DataDisk.Category is set to cloud_auto.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL cloud disks](~~368372~~).</props>', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageRegistryCredential', + 'name' => 'SpotPriceLimit', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The collection of spot instance information.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The collection of spot instance information.', 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The address of image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], + 'PriceLimit' => ['description' => 'The bid price for the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 11, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Container', + 'name' => 'InstanceTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Valid value: 1.', + 'description' => 'The instance types for multiple instance type support. If InstanceTypes.N is specified, InstanceType is ignored. Valid values of N: 1 to 20. A scaling configuration supports up to 20 instance types.'."\n" + ."\n" + .'N indicates the priority of the instance type in the scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type.', 'type' => 'array', - 'items' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'Port' => [ - 'description' => 'Information about the ports.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the ports.', - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether permissions on the root file system are read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVar' => [ - 'description' => 'Information about the environment variables.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the environment variables.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. Specify the name in the `[0-9a-zA-Z]` format. The name must be 1 to 128 characters in length, and can contain underscores (_). It cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false.'."\n" - ."\n" - .'If the command is a /bin/bash command, set the value to true.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.', - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The image of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'VolumeMount' => [ - 'description' => 'Information about the volume mount of the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume mount of the container.', - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: This volume mount does not receive subsequent mounts that are mounted to this volume or subdirectories of this volume by the host.'."\n" - .'* HostToCotainer: This volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToCotainer mount. The volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume. In addition, all volume mounts created by the container are propagated back to the host and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path where the container mounts the volume.'."\n" - ."\n" - .'>Data stored in the path of the container is directly overwritten by the content of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the Volumes.Name parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Command' => [ - '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', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull an image. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, 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', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams are disconnected after a client is disconnected.'."\n" - ."\n" - .'If you set the StdinOnce parameter 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 started again.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Command' => [ - 'description' => 'The commands that you want to execute in the container when you use the command line interface (CLI) to perform probes.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], - 'LivenessProbe.Exec.Command' => [ - 'description' => 'The command executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command executed in the container when using the command line to perform the health check.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 21, - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The instance types for multiple instance type support. If InstanceTypes.N is specified, InstanceType is ignored. Valid values of N: 1 to 20. A scaling configuration supports up to 20 instance types.'."\n" + ."\n" + .'N indicates the priority of the instance type in the scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'example' => 'ecs.g6.large', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'Volume', + 'name' => 'InstanceTypeOverride', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the volumes.', + 'description' => 'The information about instance types.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the volumes.', + 'description' => 'The information about instance types.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of HostPathVolume. Examples: File, Directory, and Socket.', - 'type' => 'string', - 'required' => false, - 'example' => 'EmptyDirVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path of the NFS volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the mounted file system. By default, the value of this parameter varies based on the script of FlexVolume.', - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the disk volume. We recommend that you specify the `FlexVolume.FsType` parameter instead of the DiskVolume.FsType parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of host directory. For example: File, Directory, Socket, etc.', - 'type' => 'string', - 'required' => false, - 'example' => 'Directory', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specifies whether the NFS volume is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path to HostPathVolume.', - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/name', - ], - 'FlexVolume.Options' => [ - 'description' => 'The FlexVolume objects. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'For example, when you use FlexVolume to mount a disk, the format of objects is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.', - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.', - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The ID of the disk volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium of EmptyDirVolume. If you leave this parameter empty, the file system that backs the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.', - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], - 'ConfigFileVolumeConfigFileToPath' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'array', - 'items' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path to the configuration file.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - 'Mode' => [ - 'description' => 'The permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file, which can be up to 32 KB in size.', - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 90, - ], - 'EmptyDirVolume.SizeLimit' => [ - 'type' => 'string', - ], + 'InstanceType' => ['description' => 'To specify the capacity of instance types in the scaling configuration, specify both this parameter and InstanceTypeOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type. You can specify N values for this parameter. Combined with the InstanceTypeOverride.N.WeightedCapacity parameter, this extends multi-instance-type support with custom weights. Valid values of N: 1 to 20.'."\n" + .'> You cannot specify this parameter together with InstanceTypes.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To specify the capacity of instance types in the scaling configuration, specify this parameter after you specify InstanceTypeOverride.N.InstanceType. The two parameters correspond one-to-one, and the values of N must be consistent.'."\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 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' => 101, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InitContainer', + 'name' => 'SecurityGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The init containers.', + 'description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" + ."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'required' => false, + 'example' => 'sg-bp18kz60mefs****', + 'maxItems' => 16, + 'title' => '', + ], + ], + [ + 'name' => 'InstancePatternInfo', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about instance types in intelligent mode.', 'type' => 'array', 'items' => [ - 'description' => 'The init containers.', + 'description' => 'The information about instance types in intelligent mode.', 'type' => 'object', 'properties' => [ - 'InitContainerEnvironmentVar' => [ - 'description' => 'The environment variables of the init container.', + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, which is used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfo.N parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.N.Cores and InstancePatternInfo.N.Memory when you use InstancePatternInfo.N.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes.N 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.N values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family in intelligent configuration mode, which is used to filter instance types that meet the requirements. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance 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 instance 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 instance 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~~).'."\n" + ."\n" + .'Valid values of N: 1 to 10.', '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, which is used to filter instance types that meet the requirements. Valid values of N: 1 to 10.'."\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. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'Architecture' => [ + 'description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: Elastic Compute Service Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables of the init container.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. The key must be 1 to 128 characters in length. Specify the name in the `[0-9a-zA-Z]` format. The name can contain underscores and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: Elastic Compute Service 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' => 301, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + ."\n" + .'- Exclude: Burstable instance types are excluded.'."\n" + .'- Include: Burstable instance types are included.'."\n" + .'- Required: Only burstable instance types are included.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceType' => [ + '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 permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'>To use NET_RAW, you must submit a ticket.', - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], + '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.'."\n" + ."\n" + .'> To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - 'Image' => [ - 'description' => 'The container image.', - 'type' => 'string', + 'InstanceTypeFamilies' => [ + 'description' => 'The specified instance families.', + 'type' => 'array', + 'items' => ['description' => 'The specified instance families. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]', 'title' => ''], 'required' => false, - 'example' => 'nginx', + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'InitContainerVolumeMount' => [ - 'description' => 'Information about the volume mounts of the init container.', + '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" + .'> The value of MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The specified GPU types.', 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume mounts of the init container.', - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'- None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.', - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path where the container mounts the volume.'."\n" - ."\n" - .'>Data stored in the path of the container is overwritten by the content of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The elastic container instance can mount different directories of the same volume to different subdirectories of containers.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The specified GPU types.', 'type' => 'string', 'required' => false, 'example' => '["NVIDIA V100"]', 'title' => ''], 'required' => false, - 'maxItems' => 101, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" + 'InstanceCategories' => [ + 'description' => 'The categorization of instance types. Valid values:'."\n" ."\n" - .'* Always: Image pulling is always 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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local', - ], - 'Command' => [ - 'description' => 'The commands that you want to run to start the container.', + .'- 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-accelerated instances.'."\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: NP', 'type' => 'array', - 'items' => [ - 'description' => 'The commands that you want to run to start the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], + 'items' => ['description' => 'The instance type categorization.'."\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: 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' => 101, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'Arg' => [ - 'description' => 'The startup parameter of the container.', + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance.', 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that are passed to the container startup command.', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The size of the memory. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', + 'items' => ['description' => 'The CPU architectures of the instance. Valid values:'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.'."\n" + .'[_single.params.InstancePatternInfo.items.PhysicalProcessorModels.desc', 'type' => 'string', 'required' => false, 'example' => '["X86", "ARM"]', 'title' => ''], 'required' => false, - 'example' => '1.0', + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'Name' => [ - 'description' => 'The name of the container.', - 'type' => 'string', + 'PhysicalProcessorModels' => [ + 'description' => 'The processor model of the instance.', + 'type' => 'array', + 'items' => ['description' => 'The processor model of the instance. N specifies that you can set multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]', 'title' => ''], 'required' => false, - 'example' => 'test-init', - ], + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The expected minimum number of elastic network interfaces (ENIs) supported by the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The expected minimum number of IPv4 addresses per elastic network interface (ENI) for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The expected minimum number of IPv6 addresses per elastic network interface (ENI) for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The expected minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The expected 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 expected minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The expected maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The expected minimum number of GPUs for the instance. Valid values: positive integers ≥ 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The expected maximum number of GPUs for the instance. Valid values: positive integers ≥ 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DnsConfigNameServer', + 'name' => 'SystemDiskCategories', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IP addresses of the DNS servers.', + 'description' => 'The multiple disk types for the system cloud disk. Valid values of N: 1 to 4. You can specify up to four disk types for the system cloud disk in a scaling configuration. A smaller value of N indicates a higher priority. When a disk type with a higher priority is unavailable, 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 and `SystemDisk.Category` at the same time.', 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.**', - ], + 'items' => ['description' => 'The multiple disk types for the system cloud disk. Valid values of N: 1 to 4. You can specify up to four disk types for the system cloud disk in a scaling configuration. A smaller value of N indicates a higher priority. When a disk type with a higher priority is unavailable, 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 and `SystemDisk.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'maxItems' => 20, + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'DnsConfigSearch', + 'name' => 'Password', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'array', - 'items' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes', - ], - 'required' => false, - 'maxItems' => 20, - ], + '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' => 'DnsConfigOption', + 'name' => 'SystemDisk.Encrypted', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'array', - 'items' => [ - 'description' => 'The objects. Each object is a name-value pair. The value is optional.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + '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' => 'HostAliase', + 'name' => 'SystemDisk.KMSKeyId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the hosts.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the hosts.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '192.0.XX.XX', - ], - 'Hostname' => [ - 'description' => 'The name of the elastic container instance.', - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the elastic container instance.', - 'type' => 'string', - 'required' => false, - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - 'required' => false, - 'maxItems' => 51, - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], + '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' => 'SecurityContextSysctl', + 'name' => 'SystemDisk.EncryptAlgorithm', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The hostnames that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The hostnames that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + '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' => 'NtpServer', + 'name' => 'SystemDisk.ProvisionedIops', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The domain names of the NTP server.', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the NTP server.', - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 21, - ], + '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 a block storage device can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'AcrRegistryInfo', + 'name' => 'SystemDisk.BurstingEnabled', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'object', - 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'Specifies whether to enable Burst (performance burst) 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" + .'<props="china">For more information, see [ESSD AutoPL cloud disks](~~368372~~).</props>', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'CostOptimization', + 'name' => 'ImageOptions.LoginAsNonRoot', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the cost optimization feature. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'InstanceFamilyLevel', + 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances 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: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + .'- true: Enables release protection, which prevents the instance from being directly released from the ECS console or by calling the API operation. This prevents instances created during scale-out from being accidentally deleted.'."\n" + .'- false: Disables release protection, which allows the instance to be directly released from the ECS console or by calling the API operation.'."\n" + ."\n" + .'>This property does not affect normal scale-in activities of Auto Scaling. Pay-as-you-go instances with release protection enabled can still be released during scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ContainersUpdateType', + 'name' => 'StorageSetId', 'in' => 'query', - 'allowEmptyValue' => false, + '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. Valid values: integers ≥ 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CustomPriorities', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The update mode of containers. Valid values:'."\n" + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.'."\n" ."\n" - .'- RenewUpdate: full update mode. This value takes effect based on the value of the Containers parameters in an update request. This value indicates that the previous setting of the Containers parameter is overwritten.'."\n" - .'- IncrementalUpdate: incremental update mode. The value of the Containers parameter varies based on the value of the Containers.Name parameter. This value indicates that only the settings of the specified request parameters are updated.'."\n" + .'When an ECS instance cannot be created based on a higher-priority **ECS instance type + vSwitch** combination, Auto Scaling automatically selects the next-priority **ECS instance type + vSwitch** combination to create the instance.'."\n" ."\n" - .'Default value: RenewUpdate.', - 'type' => 'string', + .'>If you specify custom priorities for only some **ECS instance type + 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. 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' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'><notice>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The `CustomPriorities` field specifies the custom priority of the **ECS instance type + vSwitch** combination. The `CustomPriorities.N.InstanceType` parameter specifies the instance type in the custom priority.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`. The instance type (InstanceType) must be included in the instance type list of the scaling configuration.'."\n" + ."\n" + .'When an ECS instance cannot be created based on a higher-priority **ECS instance type + vSwitch** combination, Auto Scaling automatically selects the next-priority **ECS instance type + vSwitch** combination to create the instance.'."\n" + ."\n" + .'>If you specify custom priorities for only some **ECS instance type + 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. 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' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The `CustomPriorities.N.VswitchId` parameter specifies the ID of the vSwitch in the custom priority.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`. The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'RenewUpdate', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceType', + 'name' => 'NetworkInterfaces', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', 'type' => 'array', 'items' => [ - 'type' => 'string', + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use this parameter, you must set the primary elastic network interface (ENI) by using `NetworkInterfaces.N`, but you cannot specify `SecurityGroupId` or `SecurityGroupIds.N` at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary elastic network interface (ENI).'."\n" + ."\n" + .'- Secondary: secondary elastic network interface (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" + .'>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 `NetworkInterfaces.N.InstanceType` is set to `Primary`.'."\n" + .'- You cannot set this parameter when `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty.'."\n" + .'- After you set this parameter, you cannot set the `Ipv6AddressCount` parameter.', '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 `NetworkInterfaces.N.InstanceType` is set to `Primary`, this parameter is required. In this case, this parameter has the same effect as `SecurityGroupIds.N`, but you cannot set `SecurityGroupId` or `SecurityGroupIds.N` at the same time.'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, this parameter is optional. The default value is the security group of the ECS instance (the security group of the primary elastic network interface (ENI)).', 'type' => 'string', 'required' => false, 'example' => 'sg-2ze55shrh****', '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](~~25378~~).'."\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) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DataCacheBucket', + 'name' => 'DedicatedHostClusterId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], ], [ - 'name' => 'DataCachePL', + 'name' => 'SecurityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'type' => 'string', + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. 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' => 'DataCacheProvisionedIops', + 'name' => 'HttpEndpoint', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + ."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], [ - 'name' => 'DataCacheBurstingEnabled', + 'name' => 'HttpTokens', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + '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 more information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], [ - 'name' => 'GpuDriverVersion', + 'name' => 'InternetMaxBandwidthIn', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the purchased maximum outbound public bandwidth is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the purchased 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' => 'Override', + 'name' => 'ResourcePoolOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'type' => 'boolean', + 'description' => 'The resource pool policy used when creating instances. After you set this parameter, note the following items:'."\n" + ."\n" + .'- This parameter takes effect only when creating pay-as-you-go instances.'."\n" + ."\n" + .'- This parameter cannot be set 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, instance creation fails.'."\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" + .' > This strategy 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 IDs of private pools, which are 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 ID of a private pool, which is an 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 tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', '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' => '', ], ], ], @@ -22095,1374 +16864,1192 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'ModifyScalingConfiguration', + 'description' => '## Operation description'."\n" + ."\n" + .'- If you modify the name of a scaling configuration, make sure that no scaling configuration with the same name exists in the same scaling group.'."\n" + .'- You can use one of the following methods to bind a primary network interface controller (NIC). Each API call supports only one method. If you use both methods at the same time, the call fails and an error message is returned.'."\n" + .' - Use parameters such as SecurityGroupId, SecurityGroupIds.N, and Ipv6AddressCount to directly configure the primary NIC.'."\n" + .' - Use NetworkInterfaces.N to configure both the primary and secondary NICs. When you use this parameter, you must configure the primary NIC. When NetworkInterfaces.N.InstanceType is set to Primary, the primary NIC is configured. When NetworkInterfaces.N.InstanceType is set to Secondary or left empty, a secondary NIC is configured.'."\n" + ."\n" + .' >When you modify a scaling configuration and choose one of the preceding methods to configure NICs, the NIC configurations set by the other method are cleared.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|错误码|错误信息|描述|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|未授权操作当前Action。|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|不存在指定的快照。|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|指定快照的大小超过了磁盘大小的限制。|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|指定的镜像不存在。|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|指定的KeyPairName不存在。|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can’t be used For classic instance.|经典网络实例不支持RamRoleName参数。|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|指定的参数值无效。|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter is duplicated.|伸缩配置名已存在。|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified Security Group does not support this action.|指定的安全组与伸缩组指定网络类型不一致。|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|指定的安全组和虚拟交换机不属于同一个虚拟专有网络。|'."\n" + .'|400|InvalidTags.KeyValue|The specified tags key/value cannot be empty.|必须指定Tags参数。|'."\n" + .'|400|InvalidTags.ListSize|The specified tags list size cannot be more than "20".|Tags列表长度超过限制长度。|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|UserData不符合Base64编码规范。|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|指定的UserData过长。'."\n" + .'|400|InvalidSecurityGroupId.IncorrectType|The managed security group "XXX" is not supported.|不支持 "XXX" 托管安全组。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyEciScalingConfigurationResponse>\\n <RequestId>89945DD3-9072-47D0-A318-353284CF****</RequestId>\\n</ModifyEciScalingConfigurationResponse>","errorExample":""}]', - 'title' => 'ModifyEciScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.'."\n", ], - 'ScaleWithAdjustment' => [ - 'summary' => '基于指定调整规则触发性扩缩容', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyScalingGroup' => [ + 'summary' => 'Modifies a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92716', - 'abilityTreeNodes' => [ - 'FEATUREessSQIS9M', - ], + 'abilityTreeCode' => '92709', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-j6c1o397427hyjdc****', - ], + 'schema' => ['description' => 'The ID of the scaling group that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'AdjustmentType', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how to scale instances. 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' => true, - 'docRequired' => true, - 'example' => 'QuantityChangeInCapacity', - ], + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within a region. The name must be 2 to 64 characters in length and can contain digits, uppercase letters, lowercase letters, Chinese characters, underscores (\\_), hyphens (-), and periods (.).', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'AdjustmentValue', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances in each adjustment. The number of ECS instances in each adjustment 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' => true, - 'docRequired' => true, - 'maximum' => '2147483647', - 'minimum' => '-2147483648', - 'example' => '100', - 'isFileTransferUrl' => false, - ], + 'schema' => ['description' => 'The minimum number of ECS instances or elastic container instances in the scaling group. When the number of instances in the scaling group is less than `MinSize`, Auto Scaling performs automatic creation of ECS instances or elastic container instances.'."\n" + ."\n" + .'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MinAdjustmentMagnitude', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances allowed in each adjustment. This parameter takes effect only if you set the `AdjustmentType` parameter to `PercentChangeInCapacity`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The maximum number of ECS instances or elastic container instances in the scaling group. When the number of instances in the scaling group exceeds `MaxSize`, Auto Scaling automatically removes instances from the scaling group.'."\n" + ."\n" + .'<props="china">The valid values of MaxSize depend on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota value of **Maximum Number of Instances in a Scaling Group**.</props>'."\n" + ."\n" + .'<props="intl">The valid values of MaxSize depend on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota value of **Maximum Number of Instances in a Scaling Group**.</props>'."\n" + ."\n" + .'<props="partner">The valid values of MaxSize depend on your Auto Scaling usage. Go to Quota Center to check the quota value of **Maximum Number of Instances in a Scaling Group**.</props>'."\n" + ."\n" + .'For example, if the quota value of **Maximum Number of Instances in a Scaling Group** is 2000, the valid values of `MaxSize` are 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '99', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'DefaultCooldown', '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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The cooldown time after a scaling activity (adding or removing ECS instances or elastic container instances) is complete. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown time, the scaling group does not execute other scaling activities. This parameter applies only to scaling activities triggered by CloudMonitor event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], ], [ - 'name' => 'SyncActivity', + 'name' => 'RemovalPolicy.1', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger the scaling activity in a synchronous manner. This parameter takes effect only on scaling groups for which you specified an expected number of instances. Valid values:'."\n" - ."\n" - .'* true: triggers the scaling activity in a synchronous manner. The scaling activity is triggered at the time when the scaling rule is executed.'."\n" - .'* false: does not trigger the scaling activity in a synchronous manner. After you change the expected number of instances for the scaling group, Auto Scaling checks whether the total number of instances in the scaling group matches the new expected number of instances and determines whether to trigger the scaling activity based on the check result.'."\n" - ."\n" - .'> For more information about the expected number of instances feature, see [Expected number of instances](~~146231~~).'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '指定移出ECS实例的第一段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + .'- CustomPolicy:基于自定义缩容策略Function函数移除ECS实例。'."\n" + ."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。CustomPolicy仅支持设置为首位移除策略,当指定CustomPolicy需同时指定CustomPolicyARN参数。', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], ], [ - 'name' => 'Overrides', + 'name' => 'RemovalPolicy.2', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Cpu' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'Memory' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'UserData' => [ - 'type' => 'string', - ], - 'ContainerOverride' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Command' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Memory' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'Arg' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Cpu' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'EnvironmentVar' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'type' => 'string', - ], - 'Key' => [ - 'type' => 'string', - ], - ], - ], - ], - 'Name' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], + 'schema' => ['description' => '指定移出ECS实例的第二段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。', 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], ], [ - 'name' => 'LifecycleHookContext', + 'name' => 'RemovalPolicy.3', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], - 'IgnoredLifecycleHookIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecycleHookResult' => [ - 'type' => 'string', - ], - ], - ], + 'schema' => ['description' => '指定移出ECS实例的第三段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + ."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。', 'type' => 'string', 'required' => false, 'example' => 'OldestInstance', 'title' => ''], ], [ - 'name' => 'ActivityMetadata', + 'name' => 'ActiveScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the active scaling configuration in the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], ], [ - 'name' => 'ExecutionMode', + 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: no health check is performed.'."\n" + .'- ECS: health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: the health status of instances is determined based on load balancing health check results. Classic Load Balancer (CLB) is not supported.'."\n" + ."\n" + .'Default value: ECS.'."\n" + ."\n" + .'> To enable both instance health checks and load balancing health checks, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp175o6f6ego3r2j****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ActivityType' => [ - 'description' => 'The type of the scaling activity.'."\n" - ."\n" - .'If the `ActivityType` parameter is set to `CapacityChange`, only the expected number of instances is changed during the scaling activity that is specified by the `ScalingActivityId` parameter and no scale-out activity is triggered.'."\n" - ."\n" - .'This parameter takes effect only for scaling groups that have an expected number of instances.'."\n", - 'type' => 'string', - 'example' => 'CapacityChange', - ], - 'PlanResult' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceAllocations' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'SpotStrategy' => [ - 'type' => 'string', - ], - 'Amount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'InstanceChargeType' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.Forbidden', - 'errorMessage' => 'Operation Forbidden', - ], - ], - ], - 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<ScaleWithAdjustmentResponse>\\n <ScalingActivityId>asa-bp175o6f6ego3r2j****</ScalingActivityId>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ActivityType>CapacityChange</ActivityType>\\n</ScaleWithAdjustmentResponse>","errorExample":""}]', - 'title' => 'ScaleWithAdjustment', - 'description' => '## Description'."\n" - ."\n" - .'Compared with the ExecuteScalingRule operation, the ScaleWithAdjustment operation does not require a scaling rule to be created in advance.'."\n" - ."\n" - .'Before you call the ScaleWithAdjustment operation, take note of the following items:'."\n" - ."\n" - .'* The following requirements must be met:'."\n" - ."\n" - .' * The scaling group is in the Active state.'."\n" - .' * No scaling activities in the scaling group are in progress.'."\n" - ."\n" - .'* If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.'."\n" - ."\n" - .'* If the addition of a specified number of Elastic Compute Service (ECS) instances to a scaling group causes the total number of ECS instances in the scaling group to exceed the maximum number of instances allowed, Auto Scaling adds only a specific number of ECS instances to ensure that the total number of instances is equal to the maximum number of instances.'."\n" - ."\n" - .'* If the removal of a specified number of ECS instances from a scaling group causes the total number of ECS instances in the scaling group to drop below the minimum number of instances allowed, Auto Scaling removes only a specific number of ECS instances to ensure that the total number of instances is equal to the minimum number of instances.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the `ScalingActivityId` parameter in the response.'."\n", - ], - 'ChangeResourceGroup' => [ - 'summary' => '更改伸缩组所属的资源组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '163910', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'LaunchTemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['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', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'OnDemandBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to **scalinggroup**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are preferentially created.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'OnDemandPercentageAboveBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to change the resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], + 'schema' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'NewResourceGroupId', + 'name' => 'SpotInstanceRemedy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to add the scaling group.'."\n" - ."\n" - .'> You can use resource groups to manage resources owned by your Alibaba Cloud account. Resource groups simplify the resource and permission management of your Alibaba Cloud account. For more information, see [What is resource management?](~~94475~~)'."\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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + 'schema' => ['description' => 'Specifies whether to supplement spot instances. If this feature is enabled, Auto Scaling creates new instances to replace spot instances that are about to be reclaimed when the system sends a reclamation notification.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ChangeResourceGroupResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ChangeResourceGroupResponse>","errorExample":""}]', - 'title' => 'ChangeResourceGroup', - 'description' => '## Description'."\n" - ."\n" - .'A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources, monitor resources, and perform operations in a centralized manner. This way, you do not need to view and check your Alibaba Cloud resources in each Alibaba Cloud service.'."\n", - ], - 'AttachServerGroups' => [ - 'summary' => '添加一个或多个负载均衡服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'CompensateWithOnDemand', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the `MultiAZPolicy` parameter of the `CreateScalingGroup` operation is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: allows automatic creation.'."\n" + .'- false: does not allow automatic creation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166340', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'SpotInstancePools', + 'in' => 'query', + 'schema' => ['description' => 'The number of available instance types. Auto Scaling creates spot instances across multiple lowest-cost instance types in a balanced manner. Valid values: 0 to 10.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Setting this parameter enables the expected number of instances feature. Auto Scaling automatically maintains the number of instances at the expected level. Valid values: MinSize ≤ expected number of instances ≤ MaxSize.'."\n" + ."\n" + .'> If you disable and then re-enable the expected number of instances feature, you must set the `DesiredCapacity` value again.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + '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" + .'- false: disables deletion protection.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'MultiAZPolicy', '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****', - ], + 'schema' => ['description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n" + .' '."\n" + .'- PRIORITY: scales instances based on the priority of the vSwitches (VSwitchIds.N). Auto Scaling preferentially performs scaling in the zone of the highest-priority vSwitch. If scaling cannot be performed in that zone, Auto Scaling automatically attempts the next-priority zone.'."\n" + ."\n" + .'- COST_OPTIMIZED: during scale-out, Auto Scaling creates ECS instances in ascending order of vCPU unit price. During scale-in, Auto Scaling removes ECS instances in descending order of vCPU unit price. When the scaling configuration specifies multiple instance types with preemptible billing methods, spot instances are preferentially created. You can use the `CompensateWithOnDemand` parameter to specify whether Auto Scaling automatically creates pay-as-you-go instances when spot instances cannot be created.'."\n" + ."\n" + .' > COST_OPTIMIZED takes effect only when the scaling configuration specifies multiple instance types or uses spot instances.'."\n" + ."\n" + .'- BALANCE: allocates ECS instances evenly across the active zones specified for the scaling group. If the zones become unbalanced due to reasons such as insufficient inventory, you can call the [RebalanceInstance](~~71516~~) operation to rebalance resources.'."\n" + .'- COMPOSABLE: a composite policy that allows you to combine the preceding multi-zone scaling policies as needed. Settings can be customized based on your requirements. This is a composite policy. You can determine whether to combine the preceding multi-zone scaling policies based on your requirements.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to add the Elastic Compute Service (ECS) instances in the scaling group to the backend server group of the newly attached SLB instance. Valid values:'."\n" + 'description' => 'The IDs of one or more vSwitches.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending numerical order, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, Auto Scaling automatically selects the next-priority vSwitch.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. Valid values of N: 1 to 5.'."\n" + ."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group.'."\n" + ."\n" + .'The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending numerical order, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, Auto Scaling automatically selects the next-priority vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1oo2a7isyrb8igf****', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'example' => 'vsw-bp1oo2a7isyrb8igf****', + 'maxItems' => 8, + 'title' => '', ], ], [ - 'name' => 'ServerGroup', + 'name' => 'LaunchTemplateOverride', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'A collection of information about a load-balanced server group.', + 'description' => 'The launch template override information.', 'type' => 'array', 'items' => [ - 'description' => 'A collection of information about a load-balanced server group.', + 'description' => 'The launch template override information.', 'type' => 'object', 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of backend server group N.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-60ofsqhwer0b***', - ], - 'Type' => [ - 'description' => 'The type of backend server group N.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance in the scaling group as a backend server after Auto Scaling adds the ECS instance to backend server group N. Valid values: 0 to 100.'."\n" - ."\n" - .'If you increase the weight of an ECS instance in a backend server group, the number of access requests that are forwarded to the ECS instance increases. If you set the **Weight** parameter for an ECS instance in a backend server group to **0**, no access requests are forwarded to the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to backend server group N. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], + 'InstanceType' => ['description' => 'To scale the scaling group based on the capacity of instance types, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type, which overrides the instance type in the launch template. You can specify N values for this parameter 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: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To scale the scaling group based on the capacity of instance types, specify this parameter after you specify LaunchTemplateOverride.N.InstanceType. The two parameters correspond to each other, and the values of N must be consistent.'."\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 needed 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 capacity: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, Auto Scaling 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' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N values for this parameter 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.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which one or more SLB instances are attached to the scaling group and the ECS instances in the scaling group are added to the backend server groups of the SLB instances.'."\n" - ."\n" - .'> This parameter is returned only after you set the `ForceAttach` parameter to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '74C4E313-8570-479F-8791-DC25360D****', - ], - ], - ], + [ + 'name' => 'AzBalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple zones. This parameter takes effect only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`. Valid values:'."\n" + .'- true: evenly distributes the capacity across multiple zones.'."\n" + .'- false: does not evenly distribute the capacity across multiple zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachServerGroupsResponse>\\n <ScalingActivityId>asa-bp1c9djwrgxjyk31****</ScalingActivityId>\\n <RequestId>74C4E313-8570-479F-8791-DC25360D****</RequestId>\\n</AttachServerGroupsResponse>","errorExample":""}]', - 'title' => 'AttachServerGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=AttachServerGroups\\&type=RPC\\&version=2014-08-28)'."\n", - ], - 'DetachServerGroups' => [ - 'summary' => '移除一个或多个负载均衡服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. The strategy applies to both pay-as-you-go and spot capacity. This parameter takes effect 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" + .'- lowestPrice: creates instances in ascending order of vCPU unit price.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166341', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'SpotAllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The spot capacity allocation strategy. You can use this parameter to separately specify the allocation strategy for spot capacity. This parameter takes effect 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" + .'- lowestPrice: creates instances in ascending order of vCPU unit price.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'MaxInstanceLifetime', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The maximum amount of time that an instance can remain in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 clears any previously set MaxInstanceLifetime value (that is, MaxInstanceLifetime is not set).'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported for ECI-type scaling groups or scaling groups with the no-fees-for-stopped-instances feature enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'CustomPolicyARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy Function Compute function. This parameter takes effect only when the first scale-in policy in RemovalPolicies is set to 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' => 'ClientToken', + 'name' => 'DisableDesiredCapacity', '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****', - ], + 'schema' => ['description' => 'Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:'."\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 only when no scaling activity is in progress. When the expected number of instances feature is disabled, the `DesiredCapacity` property of the scaling group is cleared, but the current number of instances in the scaling group remains unchanged.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'ScalingPolicy', 'in' => 'query', + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'- recycle: the reclaim mode of the scaling group is stop and recycle mode.'."\n" + ."\n" + .'- release: the reclaim mode of the scaling group is release mode.'."\n" + ."\n" + .'- forcerelease: the reclaim mode of the scaling group is forced release mode.'."\n" + ."\n" + .' > If you select `forcerelease`, running instances are forcefully released during scale-in activities. A forced release is equivalent to a power-off operation, which erases temporary data in the memory and storage of the instance. The data cannot be recovered. Proceed with caution.'."\n" + ."\n" + .'- forcerecycle: the reclaim mode of the scaling group is forced stop and recycle mode.'."\n" + ."\n" + .' > If you select `forcerecycle`, running instances are forcefully stopped during scale-in activities. A forced stop is equivalent to a power-off operation, which erases temporary data in the memory and storage of the instance. The data cannot be recovered. Proceed with caution.'."\n" + ."\n" + .'ScalingPolicy specifies the reclaim mode of the scaling group, but the specific action taken when instances are removed from the scaling group is determined by the RemovePolicy parameter of RemoveInstances. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], + ], + [ + 'name' => 'HealthCheckTypes', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to remove the Elastic Compute Service (ECS) instances in the scaling group from the backend server group of the SLB instance that you want to detach from the scaling group. Valid values:'."\n" + 'description' => 'The health check modes of the scaling group.'."\n" + ."\n" + .'> You can set multiple values for this parameter to enable multiple health check options. If the `HealthCheckType` parameter is set, this parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The list of health check modes for the scaling group. Valid values:'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'- NONE: no health check is performed.'."\n" + .'- ECS: health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: the health status of instances is determined based on load balancing health check results. CLB is not supported.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ServerGroup', + 'name' => 'StopInstanceTimeout', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The timeout period for waiting for an ECS instance to stop during a scale-in flow. Unit: seconds. Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter takes effect only in scale-in flows where ScalingPolicy is set to release mode. '."\n" + .'- If this parameter is set, the system waits up to StopInstanceTimeout seconds for the instance to stop. After the timeout, the scale-in flow continues regardless of whether the instance has stopped. '."\n" + .'- If this parameter is not set, the system waits indefinitely for the instance to stop. The scale-in flow continues only after the instance stops. If the instance fails to stop, the scale-in flow is rolled back and the scale-in fails.'."\n" + .'- Setting this parameter to 0 clears the parameter settings.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'CapacityOptions', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'Details of the server groups.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the server group.', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of backend server group N.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-1gv2uidn2msy****', - ], - 'Type' => [ - 'description' => 'The type of backend server group N. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to backend server group N.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, + 'description' => 'The capacity options.', + '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 is less than this value, pay-as-you-go instances are preferentially created. Valid values: 0 to 1000.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the `MultiAZPolicy` parameter of the `CreateScalingGroup` operation is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: allows automatic creation.'."\n" + .'- false: does not allow automatic creation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to use spot instances to replace pay-as-you-go instances when `CompensateWithOnDemand` is enabled and the pay-as-you-go ratio exceeds the `OnDemandPercentageAboveBaseCapacity` ratio. A common scenario is when `CompensateWithOnDemand` causes spot instances to be downgraded to pay-as-you-go instances due to spot inventory or pricing issues. To prevent pay-as-you-go instances from persisting for an extended period, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: allows replacement.'."\n" + .'- false: does not allow replacement.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', '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 the price per unit of capacity.'."\n" + ."\n" + .' The capacity of an instance in the scaling group equals the weight assigned to the instance type. The default weight is 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: compares prices based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'BalanceMode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The zone balancing mode. This parameter takes effect only when zone balancing is enabled. Valid values:'."\n" + .' '."\n" + .'- BalancedBestEffort: when resource creation fails in a zone, the system falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: when resource creation fails in a zone, the system does not fall back to other zones. The scale-out activity partially succeeds to prevent excessive imbalance across zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'required' => false, 'example' => 'BalancedBestEffort'], + ], + [ + 'name' => 'AutoRebalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic rebalancing for the scaling group. This parameter takes effect only when BalancedOnly is enabled for a zone-balanced scaling group. Valid values:'."\n" + .'- false: disables automatic rebalancing.'."\n" + .'- true: enables automatic rebalancing. The scaling group automatically detects capacity across zones and proactively performs scaling to rebalance zone capacity when an imbalance is detected.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which one or more SLB instances are detached from the scaling group and the ECS instance in the scaling group are removed from the backend server groups of the SLB instances.'."\n" - ."\n" - .'> This parameter is returned only after you set the `ForceDetach` parameter to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1gbswjhjrw8tko****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachServerGroupsResponse>\\n <ScalingActivityId>asa-bp1gbswjhjrw8tko****</ScalingActivityId>\\n <RequestId>6EF9BFEE-FE07-4627-B8FB-14326FB9****</RequestId>\\n</DetachServerGroupsResponse>","errorExample":""}]', - 'title' => 'DetachServerGroups', - ], - 'ModifyInstanceAttribute' => [ - 'summary' => '修改伸缩组内实例的部分信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- The following parameters cannot be modified:'."\n" + ."\n" + .' - RegionId'."\n" + ."\n" + .' - LoadBalancerId'."\n" + ."\n" + .' > To modify load balancing instances, use the [AttachLoadBalancers](~~85125~~) and [DetachLoadBalancers](~~85141~~) operations. '."\n" + ."\n" + .' - DBInstanceId'."\n" + ."\n" + .' > To modify ApsaraDB RDS instances, use the [AttachDBInstances](~~85379~~) and [DetachDBInstances](~~85380~~) operations. '."\n" + .' '."\n" + .'- You can invoke this operation only when the scaling group is in the Active or Inactive state.'."\n" + ."\n" + .'- Enabling a new scaling configuration does not affect ECS instances or elastic container instances that were created based on the previous scaling configuration and are still running.'."\n" + ."\n" + .'- If you modify MaxSize and the current number of ECS or elastic container instances in the scaling group exceeds the new MaxSize value, Auto Scaling automatically removes instances from the scaling group until the number equals MaxSize.'."\n" + ."\n" + .'- If you modify MinSize and the current number of ECS or elastic container instances in the scaling group is less than the new MinSize value, Auto Scaling automatically adds instances to the scaling group until the number equals MinSize.'."\n" + ."\n" + .'- If DesiredCapacity is set for the scaling group and you modify DesiredCapacity, Auto Scaling automatically adds or removes ECS or elastic container instances to make the number of instances in the scaling group equal to the new DesiredCapacity value.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidScalingGroupName.Duplicate|The specified value of parameter `parameter name` is duplicated.|The scaling group name already exists.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the scaling group.|'."\n" + .'|400|InvalidScalingConfigurationId.InstanceTypeMismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter `parameter name` and parameter `parameter name` are confilict.|The specified MinSize is greater than MaxSize.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The fixed version number of the launch template must be a number.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingGroup'], + ], + ], + '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' => [ + 'summary' => 'Modifies a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '201545', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92710', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling rule that you want to modify.', 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length and can contain digits, uppercase letters, lowercase letters, Chinese characters, underscores (\\_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'>The name of a scaling rule must be unique within the same scaling group under the same Alibaba Cloud account in the same region.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ - 'name' => 'Entrusted', + 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'docRequired' => true, - ], + 'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule` and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'AdjustmentType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The adjustment method of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to a specified value.', 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + [ + 'name' => 'AdjustmentValue', + 'in' => 'query', + 'schema' => ['description' => 'The adjustment value of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. The number of ECS instances adjusted in a single scaling activity cannot exceed 1,000. Valid values vary based on the adjustment method:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyInstanceAttributeResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyInstanceAttributeResponse>","errorExample":""}]', - 'title' => 'ModifyInstanceAttribute', - ], - 'DescribePatternTypes' => [ - 'summary' => 'DescribePatternTypes', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'EstimatedInstanceWarmup', + 'in' => 'query', + 'schema' => ['description' => 'The warm-up period of an instance. This parameter is applicable to target tracking scaling rules and step scaling rules. An ECS instance in the warm-up state is added to the scaling group as expected, but CloudMonitor does not report monitoring data for the instance during this period.'."\n" + .'> When the number of ECS instances to scale is dynamically calculated, instances in the warm-up state are not counted toward the existing instance count.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '222292', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in this case.'."\n" + ."\n" + .'Valid values for target tracking scaling rules: '."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (recommended).'."\n" + .'- MemoryUtilization: (Agent) memory utilization (recommended).'."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- VpcInternetTx: (ECS) average outbound traffic over the Internet.'."\n" + .'- VpcInternetRx: (ECS) average inbound traffic over the Internet.'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) QPS per server in a server group.'."\n" + ."\n" + .'Valid values for predictive scaling rules: '."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks for system monitoring](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'docRequired' => true, - 'example' => 'cn-hangzhou', - 'required' => true, - 'type' => 'string', - ], + 'schema' => ['description' => 'The target value. This parameter is applicable to target tracking scaling rules and predictive scaling rules. The value of TargetValue can have up to three decimal places and must be greater than 0.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'DisableScaleIn', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'example' => 'vsw-bp14zolna43z266bq****', - 'required' => false, - 'type' => 'string', - ], - 'maxItems' => 100, - 'required' => false, - 'type' => 'array', - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is applicable only to target tracking scaling rules.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ZoneId', + 'name' => 'ScaleInEvaluationCount', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-in event-triggered task triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'ScaleOutEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => 'NoSpot', - 'required' => false, - 'type' => 'string', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-out event-triggered task triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'Cores', + 'name' => 'PredictiveScalingMode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '2', - 'format' => 'int32', - 'required' => false, - 'type' => 'integer', - ], + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.', 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'PredictiveValueBehavior', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '4', - 'format' => 'float', - 'required' => false, - 'type' => 'number', - ], + 'schema' => ['description' => 'The method used to handle the maximum value of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified percentage. The predicted value is increased based on the PredictiveValueBuffer percentage. If the increased value is greater than the initial maximum value, the increased value is used.', 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], ], [ - 'name' => 'MaxPrice', + 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '2', - 'format' => 'float', - 'required' => false, - 'type' => 'number', - ], + 'schema' => ['description' => 'This parameter takes effect when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. The predicted value is increased by this percentage. If the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'InstanceFamilyLevel', + 'name' => 'PredictiveTaskBufferTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => 'EnterpriseLevel', - 'required' => false, - 'type' => 'string', - ], + 'schema' => ['description' => 'Prediction tasks automatically created by a predictive scaling rule execute on the hour by default. You can configure a buffer time to execute prediction tasks ahead of schedule and prepare resources in advance. Valid values: 0 to 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'ExcludedInstanceType', + 'name' => 'InitialMaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used together with PredictiveValueBehavior.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'StepAdjustment', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The collection of step adjustment information for step scaling.', + 'type' => 'array', 'items' => [ - 'description' => '', - 'example' => 'ecs.c6.xlarge', + 'description' => 'The collection of step adjustment information for step scaling.', + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper bound of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale in a step adjustment. This parameter is applicable only to step scaling rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower bound of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], 'required' => false, - 'type' => 'string', + 'title' => '', + 'example' => '', ], - 'maxItems' => 100, 'required' => false, - 'type' => 'array', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Architecture', + 'name' => 'AlarmDimension', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', + 'type' => 'array', 'items' => [ - 'description' => '', - 'example' => 'X86', + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], + ], 'required' => false, - 'type' => 'string', + 'title' => '', + 'example' => '', ], - 'maxItems' => 100, 'required' => false, - 'type' => 'array', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BurstablePerformance', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => 'Include', - 'required' => false, - 'type' => 'string', - ], + 'schema' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ - 'name' => 'CoresList', + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage monitoring metrics repositories, see [Manage monitoring metrics repositories](~~217606~~).', 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], + ], + [ + 'name' => 'HybridMetrics', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information about how to configure this parameter, see [Use formula-based custom target tracking scaling rules](~~2852162~~).', + 'type' => 'array', 'items' => [ - 'description' => '', - 'example' => '2', - 'format' => 'int32', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling activities.'."\n" + ."\n" + .'The expression must comply with the Reverse Polish Notation (RPN) specification, and only the `+ - * /` operators are supported.', 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metrics in the Hybrid Cloud Monitoring monitoring metrics repository.', 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum value of all data points within the specified interval.'."\n" + .'- Maximum: the maximum value of all data points within the specified interval.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'description' => 'The metric dimensions. Specifies the resources to monitor for the metric.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'type' => 'integer', + 'description' => '', + 'title' => '', + 'example' => '', ], - 'maxItems' => 10, 'required' => false, - 'type' => 'array', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MemoryList', + 'name' => 'AlarmOptions', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', 'schema' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'example' => '4', - 'format' => 'float', - 'required' => false, - 'type' => 'number', + 'description' => 'The alert property definitions.', + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The statistical period for monitoring 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.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], - 'maxItems' => 10, 'required' => false, - 'type' => 'array', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ChannelId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], 'description' => '', - 'example' => '79425074', - 'format' => 'int64', - 'required' => false, - 'type' => 'integer', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceTypeFamilies', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling rule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleId.NotFound|The specified scaling rule does not exist.|The specified scaling rule does not exist under this account.|'."\n" + .'|400|InvalidScalingRuleName.Duplicate|The specified value of parameter <parameter name> is duplicated.|The scaling rule name already exists.|'."\n" + .'|400|QuotaExceeded.ScalingRule|Scaling rule quota exceeded in the specified scaling group.|The number of scaling rules has reached the upper limit.|'."\n" + .'|400|TargetTrackingScalingRule.UnsupportedMetric|Specific metric is not supported for target tracking scaling rule.|The specified monitoring metrics is not supported for target tracking scaling rules.|'."\n" + .'|400|TargetTrackingScalingRule.DumplicateMetric|Only one TargetTrackingScaling rule for a given metric specification is allowed.|Only one target tracking scaling rule is allowed for each monitoring metrics in a scaling group.|'."\n" + .'|400|InvalidMinAdjustmentMagnitudeMismatchAdjustmentType|MinAdjustmentMagnitude is not supported by the specified adjustment type.|MinAdjustmentMagnitude is not supported by the current adjustment type of the scaling rule.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullUpperBound|At most one StepAdjustment may have an unspecified upper bound.|At most one step adjustment can have an unspecified upper bound.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullLowerBound|At most one StepAdjustment may have an unspecified lower bound.|At most one step adjustment can have an unspecified lower bound.|'."\n" + .'|400|InvalidStepAdjustments.NoNullLowerBound|There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound.|When a step adjustment has a negative lower bound, there must be a step adjustment with an unspecified lower bound.|'."\n" + .'|400|InvalidStepAdjustments.NoNullUpperBound|There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound.|When a step adjustment has a positive upper bound, there must be a step adjustment with an unspecified upper bound.|'."\n" + .'|400|InvalidStepAdjustments.Gap|StepAdjustment intervals can not have gaps between them.|Step adjustment intervals cannot have gaps between them.|'."\n" + .'|400|InvalidStepAdjustments.Overlap|StepAdjustment intervals can not overlap.|Step adjustment intervals cannot overlap.|'."\n" + .'|400|InvalidStepAdjustments.LowerGtUpper|LowerBound must be less than the UpperBound for StepAdjustment :%s.|The lower bound must be less than the upper bound within the same step adjustment.|'."\n" + .'|400|InvalidStepAdjustments.BothNull|Both lower and upper bounds of a StepAdjustment can not be left unspecified.|Both the upper bound and lower bound of a step adjustment cannot be left unspecified.|'."\n" + .'|400|InvalidStepAdjustments.MaxNum|Your scaling rule can have at most %s StepAdjustments.|The number of step adjustments in the scaling group exceeds the upper limit.|'."\n" + .'|400|StepBeyondPermitRange|Specific parameter "%s" beyond permit range.|The upper bound or lower bound of the step adjustment exceeds the permitted range.|', + '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}'], ], - 'maxItems' => 100, ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], + ], + ], + ], + 'ModifyScheduledTask' => [ + 'summary' => 'Modifies the information of a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinimumCpuCoreCount', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92711', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The ID of the scheduled task.', 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], ], [ - 'name' => 'MaximumCpuCoreCount', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length and can contain letters, digits, and Chinese characters. It can also contain periods (.), underscores (_), or hyphens (-). The name must be unique within the same account in the same region.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], ], [ - 'name' => 'GpuSpecs', + 'name' => 'Description', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.', 'title' => ''], ], [ - 'name' => 'InstanceCategories', + 'name' => 'ScheduledAction', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The unique identifier of the scaling rule to execute. This parameter takes effect only when the scaling method is set to use an existing scaling rule. You can view the identifier on the scaling rule details page.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', 'title' => ''], ], [ - 'name' => 'CpuArchitectures', + 'name' => 'RecurrenceEndTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The end time of the recurrence for the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. The end time cannot be more than 365 days from the modification date.', 'type' => 'string', 'required' => false, 'example' => '2014-08-20T16:55Z', 'title' => ''], ], [ - 'name' => 'PhysicalProcessorModels', + 'name' => 'LaunchTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. The time cannot be more than 90 days from the modification date.'."\n" + ."\n" + .'- If you specify `RecurrenceType`, the time specified by this parameter is the default time for recurring execution.'."\n" + ."\n" + .'- If you do not specify `RecurrenceType`, the task is executed only once at the specified date and time.', 'type' => 'string', 'required' => false, 'example' => '2014-08-18T10:52Z', 'title' => ''], ], [ - 'name' => 'MinimumEniQuantity', + 'name' => 'RecurrenceType', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The recurrence type of the scheduled task. The task can be executed on a daily, weekly, monthly, or cron-based schedule. Valid values:'."\n" + .' '."\n" + .'- Daily: The scheduled task is executed every specified number of days.'."\n" + .'- Weekly: The scheduled task is executed on specified days of each week.'."\n" + .'- Monthly: The scheduled task is executed on specified days of each month.'."\n" + .'- Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'After modification, `RecurrenceType` and `RecurrenceValue` must both be valid.', 'type' => 'string', 'required' => false, 'example' => 'Daily', 'title' => ''], ], [ - 'name' => 'MinimumEniPrivateIpAddressQuantity', + 'name' => 'RecurrenceValue', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The value that corresponds to the recurrence type of the scheduled task.'."\n" + ."\n" + .'- If `RecurrenceType` is set to `Daily`, you can specify only one value. Valid values: 1 to 31.'."\n" + .'- If `RecurrenceType` is set to `Weekly`, you can specify multiple values separated by commas (,). For example, the values for Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are `0,1,2,3,4,5,6`.'."\n" + .'- If `RecurrenceType` is set to `Monthly`, the value is in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'- If `RecurrenceType` is set to `Cron`, the value is a UTC-based cron expression that supports five fields: minute, hour, day, month, and day of week. The following wildcard characters are supported: comma (,), question mark (?), hyphen (-), asterisk (*), pound sign (#), forward slash (/), L, and W.'."\n" + ."\n" + .'After modification, `RecurrenceType` and `RecurrenceValue` must both be valid.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'MinimumEniIpv6AddressQuantity', + 'name' => 'TaskEnabled', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" + ."\n" + .'- true: enables the scheduled task.'."\n" + .'- false: disables the scheduled task.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'MinimumInitialCredit', + 'name' => 'LaunchExpirationTime', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The time period during which Auto Scaling retries the execution of a scheduled task after the task fails to be triggered. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], ], [ - 'name' => 'MinimumBaselineCredit', + 'name' => 'MinValue', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'MinimumMemorySize', + 'name' => 'MaxValue', 'in' => 'query', - 'schema' => [ - 'type' => 'number', - 'format' => 'float', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'MaximumMemorySize', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - 'type' => 'number', - 'format' => 'float', - ], + 'schema' => ['description' => 'The expected number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.'."\n" + ."\n" + .'> The scaling group must support the expected number of instances feature, which means `DesiredCapacity` was specified when the scaling group was created.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'MinimumGpuAmount', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The ID of the scaling group whose instance count you want to modify when the scheduled task is triggered. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group. After you specify `ScalingGroupId`, you must specify a value for at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'MaximumGpuAmount', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of Response', + 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - 'title' => 'Id of the request', - 'type' => 'string', - ], - 'PatternTypes' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'example' => 'ecs.c7.xlarge', - 'type' => 'string', - ], - 'InstanceFamilyLevel' => [ - 'description' => '', - 'example' => 'EnterpriseLevel', - 'type' => 'string', - ], - 'InstanceTypeFamily' => [ - 'description' => '', - 'example' => 'ecs.c7', - 'type' => 'string', - ], - 'Cores' => [ - 'description' => '', - 'example' => '4', - 'format' => 'int32', - 'type' => 'integer', - ], - 'Memory' => [ - 'description' => '', - 'example' => '8', - 'format' => 'float', - 'type' => 'number', - ], - ], - 'type' => 'object', - ], - 'type' => 'array', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'title' => 'Schema of Response', - 'type' => 'object', + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","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}","errorExample":""},{"type":"xml","example":"<DescribePatternTypesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <PatternTypes>\\n <InstanceType>ecs.c7.xlarge</InstanceType>\\n <InstanceFamilyLevel>EnterpriseLevel</InstanceFamilyLevel>\\n <InstanceTypeFamily>ecs.c7</InstanceTypeFamily>\\n <Cores>4</Cores>\\n <Memory>8</Memory>\\n </PatternTypes>\\n</DescribePatternTypesResponse>","errorExample":""}]', - 'title' => 'DescribePatternTypes', - ], - 'ApplyScalingGroup' => [ - 'summary' => '基于K8s Yaml格式配置应用弹性伸缩', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling', 'errorMessage' => 'Request was denied due to request throttling.', 'description' => ''], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scheduled task', + 'description' => '## Operation description'."\n" + ."\n" + .'Scheduled tasks support two scaling methods:'."\n" + .'- Use the `ScheduledAction` parameter to specify a scaling rule to execute.'."\n" + .'- Use the `ScalingGroupId` parameter to set the number of instances in a scaling group.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScheduledTaskId.NotFound|The specified scheduled task does not exist.|The specified scheduled task does not exist in the current account.|'."\n" + .'|400|InvalidScheduledTaskName.Duplicate|The specified value of parameter `ScheduledTaskName` is duplicated.|The specified scheduled task name already exists.|'."\n" + .'|400|ScheduledAction.RegionMismatch|The specified scheduled task and the specified scheduled action are not in the same Region.|The specified ScheduledAction and the scheduled task are not in the same region.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScheduledTask'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'RebalanceInstances' => [ + 'summary' => 'Rebalances the distribution of ECS instances across zones in a multi-zone scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '206918', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - 'FEATUREessXN6KX4', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '92712', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ - 'name' => 'ClientToken', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'Content', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-kjgffgdfadah****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IdempotentParameterMismatch', - 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Rebalance ECS instance distribution', + 'description' => '## Operation description'."\n" + ."\n" + .'The rebalancing operation compensates for imbalanced zones by creating new ECS instances to replace existing ones. New ECS instances are started before existing ones are terminated, so the rebalancing operation does not affect your application performance or availability.'."\n" + ."\n" + .'- This operation is supported only for multi-zone scaling groups whose `MultiAZPolicy` is set to `BALANCE`, and is used to balance the distribution of ECS instances across zones.'."\n" + ."\n" + .'- You can perform a rebalancing operation only when the instance distribution in the scaling group is severely imbalanced. A single rebalancing activity can replace up to 20 ECS instances.'."\n" + ."\n" + .'- During a rebalancing activity, if the number of instances in the scaling group approaches or reaches the specified maximum number of ECS instances (MaxSize) but further balancing is required, Auto Scaling allows the number of ECS instances to temporarily exceed MaxSize by 10%. This excess state persists until the instance distribution is balanced, typically for 1 to 6 minutes.'."\n" + ."\n" + .' >If 10% of the maximum number of instances is not an integer, the decimal part is rounded up to allow one additional instance. For example, if the maximum number of instances is 15, 10% is 1.5, so a temporary excess of 2 instances is allowed.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|Enable the scaling group first.|'."\n" + .'|400|OperationDenied|This operation is denied because the specified scaling group does not support this action.|The `MultiAZPolicy` of the specified scaling group is not set to `BALANCE`, or the ECS instance distribution is not severely imbalanced.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to call the RebalanceInstances operation.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under your account.|.', + '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}'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebalanceInstances'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","errorExample":""},{"type":"xml","example":"<ApplyScalingGroupResponse>\\n <RequestId>CC107349-57B7-4405-B1BF-9BF5AF7F****</RequestId>\\n <ScalingGroupId>asg-bp1igpak5ft1flyp****</ScalingGroupId>\\n</ApplyScalingGroupResponse>","errorExample":""}]', - 'title' => 'ApplyScalingGroup', ], - 'ModifyAlertConfiguration' => [ - 'summary' => '设置伸缩组中需要发送消息通知的伸缩活动状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RecordLifecycleActionHeartbeat' => [ + 'summary' => 'Extends the wait time for an ECS instance that is suspended after a lifecycle hook is triggered.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '208787', - 'abilityTreeNodes' => [ - 'FEATUREessLTO4TI', - ], + 'abilityTreeCode' => '92713', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'lifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'ash-bp1fxuqyi98w0aib****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'lifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The token that indicates the wait state of the scaling activity. You can obtain this token from the details of the message received from the Simple Message Queue (formerly MNS) queue specified by the lifecycle hook when the instance is in the suspended state.'."\n" + ."\n" + .'You can also call [DescribeLifecycleActions](~~202473~~) to obtain this token.'."\n" + ."\n" + .'Alternatively, you can obtain this value from the Simple Message Queue (formerly MNS) topic specified by the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'F324B880-900E-4968-85DD-81691113****', 'title' => ''], ], [ - 'name' => 'ScaleStatus', + 'name' => 'heartbeatTimeout', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleSuccessful', - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The wait time that the lifecycle hook sets for the scaling group activity. After the wait state times out, the default policy is executed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After a lifecycle hook is created, you can call this operation to extend the wait time of the ECS instance, or call [CompleteLifecycleAction](~~73847~~) 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' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -23470,61 +18057,178 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyAlertConfigurationResponse>\\n <RequestId>73469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ModifyAlertConfigurationResponse>","errorExample":""}]', - 'title' => 'ModifyAlertConfiguration', - ], - 'DescribeAlertConfiguration' => [ - 'summary' => '查询伸缩组中需要发送消息的伸缩活动状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Extend the wait time after a lifecycle hook is triggered', + 'description' => '## Operation description'."\n" + ."\n" + .'You can call this operation to extend the wait time only when the ECS instance is in the suspended state.'."\n" + ."\n" + .'The wait time of an ECS instance cannot exceed 6 hours, and each wait state can be extended up to 20 times.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|LifecycleHookIdAndLifecycleActionToken.Invalid|The specified lifecycleActionToken and LifecycleHookId you provided does not match any in process lifecycle action.|The specified lifecycleActionToken does not match any LifecycleHookId.|'."\n" + .'|400|LifecycleAction.TimeExceeded|The specified parameter heartbeatTime exceed lifecycleAction max suspend time.|The wait time cannot exceed 6 hours.|'."\n" + .'|400|LifecycleAction.RecordTimesExceeded|The specified lifecycleAction exceed lifecycleAction max record times.|Each wait state can be extended up to 20 times.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecordLifecycleActionHeartbeat'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'RemoveInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '208803', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', - ], + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '92714', + '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' => 'The action to take on the ECS instances that are removed. Valid values:'."\n" + ."\n" + .'- recycle: The ECS instance enters the economy mode.'."\n" + ."\n" + .' > This value takes effect only when `ScalingPolicy` is set to `recycle`.'."\n" + ."\n" + .'- release: The ECS instance is released.'."\n" + ."\n" + .' The `ScalingPolicy` parameter of CreateScalingGroup specifies the reclaim mode of the scaling group, but the specific action taken when an instance is removed is determined by the `RemovePolicy` parameter of RemoveInstances. Examples:'."\n" + ."\n" + .' - If `ScalingPolicy` is set to `recycle` and `RemovePolicy` is set to `recycle`, the ECS instance enters the economy mode.'."\n" + .' - If `ScalingPolicy` is set to `recycle` and `RemovePolicy` is set to `release`, the ECS instance is released.'."\n" + .' - If `ScalingPolicy` is set to `release` and `RemovePolicy` is set to `recycle`, the ECS instance is released.'."\n" + .' - If `ScalingPolicy` is set to `release` and `RemovePolicy` is set to `release`, the ECS instance is released.'."\n" + ."\n" + .'Default value: release.', 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to modify the expected number of instances. Valid values:'."\n" + ."\n" + .'- true: After ECS instances are removed from the scaling group, the expected number of instances is decreased by the corresponding number.'."\n" + .'- false: After ECS instances are removed from the scaling group, the expected number of instances 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 delete a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is deleted from the scaling group.'."\n" + .' '."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`), the valid instances are successfully deleted, and the scaling activity execute status is displayed as `Warning`. You can view the invalid instances in the scaling activity details.'."\n" + .'- false: Invalid instances are not ignored when a batch of instances is deleted from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances, an error is returned.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The ID of the ECS instance to be removed.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance to be removed. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'example' => 'i-28wt4****', + 'maxItems' => 1000, + 'title' => '', ], ], [ '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' => '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 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' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for waiting for an ECS instance to be stopped during the scale-in process. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - By default, this parameter value is inherited from the scaling group. You can also reset this value when you call RemoveInstances.'."\n" + .'- This parameter takes effect only in scale-in processes where RemovePolicy is set to release. '."\n" + .'- If this parameter is specified, the system waits up to the StopInstanceTimeout period for the instance to stop. After the timeout period elapses, the scale-in process continues regardless of whether the instance is stopped. '."\n" + .'- If this parameter is not specified, the system waits until the instance is stopped before continuing the scale-in process. If the instance fails to stop, the scale-in process is rolled back and the scale-in fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The context information 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: Disabled.'."\n" + .'- false: Not disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -23533,42 +18237,103 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScaleStatuses' => [ + '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' => ''], + 'IgnoredInstances' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ScaleStatus' => [ - 'description' => '', + 'IgnoredInstance' => [ 'type' => 'array', 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], 'description' => '', - 'type' => 'string', - 'example' => 'ScaleSuccessful', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": {\\n \\"ScaleStatus\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAlertConfigurationResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <ScaleStatuses>ScaleSuccessful</ScaleStatuses>\\n</DescribeAlertConfigurationResponse>","errorExample":""}]', - 'title' => ' DescribeAlertConfiguration', - ], - 'SuspendInstanceRefresh' => [ - 'summary' => '暂停实例刷新任务', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], ], - 'schemes' => [ - 'https', + 'title' => 'Remove one or more ECS instances from a scaling group', + 'summary' => 'Removes one or more ECS instances from a scaling group.', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" + ."\n" + .' - The scaling group is in the enable (Active) state.'."\n" + ."\n" + .' - No scaling activity is being executed in the scaling group.'."\n" + ."\n" + .'If no scaling activity is being executed in the scaling group, this operation can bypass the cooldown time (DefaultCooldown) and be executed immediately.'."\n" + ."\n" + .'- If an ECS instance is automatically created by Auto Scaling through automatic creation, or is manually added but has been entrusted to the scaling group, the ECS instance triggers the economy mode or is released when it is deleted from the scaling group.'."\n" + ."\n" + .'- If an ECS instance is manually added and has not been entrusted to the scaling group, the ECS instance is not stopped or released when it is deleted from the scaling group.'."\n" + ."\n" + .'- If the current number of instances (TotalCapacity) in the scaling group minus the number of instances specified in this operation is less than the minimum number of instances (MinSize) in the scaling group, the invocation is failed.'."\n" + ."\n" + .'A successful response only indicates that Auto Scaling accepted the request. The scaling activity can be executed, but a successful response does not guarantee that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned `ScalingActivityId`.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist in the scaling group.|'."\n" + .'|400|InvalidParameter|The specified group does not support the specified RemovePolicy.|The current scaling group does not support the economy mode revoke policy.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full API operation permissions.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the specified scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|IncorrectCapacity.MinSize|To remove the instances, the total capacity will be lesser than the MinSize.|Deleting the ECS instances would cause TotalCapacity to fall below MinSize.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveInstances'], + ], + ], + '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-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": {\\n \\"IgnoredInstance\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ResumeInstanceRefresh' => [ + 'summary' => 'Resumes an instance refresh task that is in the paused state.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -23577,41 +18342,24 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '232222', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '232223', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], ], 'responses' => [ @@ -23619,78 +18367,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'ResumeInstanceRefresh', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<SuspendInstanceRefreshResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</SuspendInstanceRefreshResponse>","errorExample":""}]', - 'title' => 'SuspendInstanceRefresh', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', ], - 'ResumeInstanceRefresh' => [ - 'summary' => '恢复暂停中的实例刷新任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ResumeProcesses' => [ + 'summary' => 'Resumes paused scaling processes in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '232223', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '92715', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ClientToken', 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a unique value from your client to 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~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'Process', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The type of scaling process that you want to resume. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- `ScaleIn`: scale-in process.'."\n" + .'- `ScaleOut`: scale-out process.'."\n" + .'- `HealthCheck`: health check.'."\n" + .'- `AlarmNotification`: event-triggered task.'."\n" + .'- `ScheduledAction`: scheduled task.'."\n" + ."\n" + .'>The system supports resuming the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', + 'type' => 'array', + 'items' => ['description' => 'The type of scaling process that you want to resume. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- `ScaleIn`: scale-in process.'."\n" + .'- `ScaleOut`: scale-out process.'."\n" + .'- `HealthCheck`: health check.'."\n" + .'- `AlarmNotification`: event-triggered task.'."\n" + .'- `ScheduledAction`: scheduled task.'."\n" + ."\n" + .'>The system supports resuming the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'string', 'required' => false, 'example' => 'ScaleIn', 'title' => ''], 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'example' => 'ScaleIn', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -23698,35 +18468,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]', + 'title' => 'Resume paused scaling processes in a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeProcesses'], + ], + ], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<ResumeInstanceRefreshResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</ResumeInstanceRefreshResponse>","errorExample":""}]', - 'title' => 'ResumeInstanceRefresh', ], - 'CancelInstanceRefresh' => [ - 'summary' => '取消实例刷新任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'RollbackInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -23735,41 +18515,24 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '232214', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '232220', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-aca123sf****', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], ], 'responses' => [ @@ -23777,408 +18540,520 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelInstanceRefreshResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n</CancelInstanceRefreshResponse>","errorExample":""}]', - 'title' => 'CancelInstanceRefresh', - ], - 'DescribeInstanceRefreshes' => [ - 'summary' => '查询实例刷新任务列表', - 'methods' => [ - 'post', - 'get', + 'title' => 'Roll back an instance refresh task', + 'summary' => 'Rolls back an instance refresh task during execution. If the desired configuration no longer meets your requirements during an instance refresh task, you can call this operation to roll back the task. During the rollback, the system creates new instances based on the currently active configuration of the scaling group to replace instances that were created based on the desired configuration.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + '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}","type":"json"}]', + ], + 'ScaleWithAdjustment' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '232225', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], + 'abilityTreeCode' => '92716', + 'abilityTreeNodes' => ['FEATUREessSQIS9M'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-j6c1o397427hyjdc****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The adjustment method of the scaling activity. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to a specified value.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The adjustment value of the scaling activity. The number of ECS instances adjusted in a single scaling activity cannot exceed 1000. Otherwise, the adjustment fails. Valid values for different adjustment methods:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'isFileTransferUrl' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + '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' => 'The client token that is used to ensure the idempotence of the request and prevent repeated submissions. The value is generated by the client and must be unique across different requests. The value can be up to 64 ASCII characters in length and cannot contain non-ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'SyncActivity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to synchronously execute the scaling activity. This parameter is valid only for scaling groups that have the expected number of instances configured. Valid values:'."\n" + ."\n" + .'- true: synchronous execution. The scaling rule directly triggers the scaling activity of the scaling group.'."\n" + .'- false: asynchronous execution. When the expected number of instances in the scaling group is modified, the scaling activity is not immediately triggered. The system waits until it detects a difference between the expected number of instances and the current number of instances in the scaling group, and then triggers the scaling activity.'."\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' => 'Overrides', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', + 'description' => 'The override parameters for scale-out in ECI-type scaling groups.', + 'type' => 'object', + 'properties' => [ + 'Cpu' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'UserData' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'ContainerOverride' => [ + 'description' => 'The override parameters for the container list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The override parameters for the container list.', + 'type' => 'object', + 'properties' => [ + 'Command' => [ + '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' => '', + ], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'Arg' => [ + 'description' => 'The arguments for the container startup commands. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup commands. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => 'arg', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'EnvironmentVar' => [ + 'description' => 'The list of environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of environment variable information.', + 'type' => 'object', + 'properties' => [ + '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/tomcat', 'title' => ''], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. The name must match the format `[0-9a-zA-Z]` and can contain underscores (_). It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Name' => ['description' => 'The container name. If you want to override container parameters, you must specify the container name. The container parameters can be overridden only when the container name matches the container name in the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'container-1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'LifecycleHookContext', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-adfa12312*****', + 'description' => 'The context information of the lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hook features for the scaling activity. Valid values:'."\n" + ."\n" + .'- true: disabled.'."\n" + .'- false: not disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'required' => false, - 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ActivityMetadata', + 'in' => 'query', + 'schema' => ['description' => 'The metadata of 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: not specified. Normal scaling is performed.'."\n" + .'- PlanOnly: scaling is not triggered. Only elastic planning is performed, and the planning results are returned in PlanResult, including instance type, zone ID, billing method, and the number of instances to be created.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PlanOnly', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters for triggering elastic scaling based on a specified adjustment rule.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'NextToken' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f****', - ], - 'MaxResults' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'InstanceRefreshTasks' => [ + '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 `ActivityType` is set to `CapacityChange`, the scaling activity corresponding to the returned `ScalingActivityId` only modifies the expected number of instances in the scaling group without immediately performing scaling.'."\n" + ."\n" + .'Applicable scope: scaling groups with the expected number of instances configured.', 'type' => 'string', 'example' => 'CapacityChange', 'title' => ''], + 'PlanResult' => [ + 'description' => 'The elastic planning results returned when ExecutionMode is set to PlanOnly.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'InstanceRefreshTask' => [ - 'description' => '', + 'ResourceAllocations' => [ + 'description' => 'The resource allocation information in the elastic planning results.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'InstanceRefreshTaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ir-1adfa123****', - ], - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-bp16pbfcr8j9*****', - ], - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'EndTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-22T02:09:00Z', - ], - 'StartTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-22T01:09:00Z', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InProgress', - ], - 'Detail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', - ], - 'MinHealthyPercentage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'MaxHealthyPercentage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'DesiredConfiguration' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-uf6g5noisr****', - ], - 'ScalingConfigurationId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asc-wz91ibkhfor****', - ], - 'LaunchTemplateId' => [ - 'type' => 'string', - ], - 'LaunchTemplateVersion' => [ - 'type' => 'string', - ], - 'LaunchTemplateOverrides' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LaunchTemplateOverride' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'Containers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Container' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'Image' => [ - 'type' => 'string', - ], - 'Commands' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Command' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'EnvironmentVars' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnvironmentVar' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - 'FieldRefFieldPath' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'Args' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Arg' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'FinishedUpdateCapacity' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalNeedUpdateCapacity' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'SkipMatching' => [ - 'type' => 'boolean', - ], - 'CheckpointPauseTime' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Checkpoints' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Checkpoint' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Percentage' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], + 'ZoneId' => ['description' => 'The 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 preemption policy of the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'Amount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method. Valid values:'."\n" + ."\n" + .'- Prepaid: subscription.'."\n" + .'- Postpaid: pay-as-you-go.', 'type' => 'string', 'example' => 'Postpaid', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": {\\n \\"InstanceRefreshTask\\": [\\n {\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\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 \\"LaunchTemplateOverride\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g7.2xlarge\\"\\n }\\n ]\\n },\\n \\"Containers\\": {\\n \\"Container\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": {\\n \\"Command\\": [\\n \\"sleep\\"\\n ]\\n },\\n \\"EnvironmentVars\\": {\\n \\"EnvironmentVar\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n },\\n \\"Args\\": {\\n \\"Arg\\": [\\n \\"100\\"\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": {\\n \\"Checkpoint\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceRefreshesResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <NextToken>caeba0bbb2be03f84eb48b699f****</NextToken>\\n <MaxResults>50</MaxResults>\\n <TotalCount>100</TotalCount>\\n <InstanceRefreshTasks>\\n <InstanceRefreshTaskId>ir-1adfa123****</InstanceRefreshTaskId>\\n <ScalingGroupId>asg-bp16pbfcr8j9*****</ScalingGroupId>\\n <RegionId>cn-hangzhou</RegionId>\\n <EndTime>2024-08-22T02:09:00Z</EndTime>\\n <StartTime>2024-08-22T01:09:00Z</StartTime>\\n <Status>InProgress</Status>\\n <Detail>The task exceeded its maximum run time of one week. So the task failed.</Detail>\\n <MinHealthyPercentage>80</MinHealthyPercentage>\\n <MaxHealthyPercentage>120</MaxHealthyPercentage>\\n <DesiredConfiguration>\\n <ImageId>m-uf6g5noisr****</ImageId>\\n <ScalingConfigurationId>asc-wz91ibkhfor****</ScalingConfigurationId>\\n </DesiredConfiguration>\\n <FinishedUpdateCapacity>10</FinishedUpdateCapacity>\\n <TotalNeedUpdateCapacity>20</TotalNeedUpdateCapacity>\\n </InstanceRefreshTasks>\\n</DescribeInstanceRefreshesResponse>","errorExample":""}]', - 'title' => 'DescribeInstanceRefreshes', - ], - 'RollbackInstanceRefresh' => [ - 'summary' => '回滚实例刷新任务', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.Forbidden', 'errorMessage' => 'Operation Forbidden', 'description' => ''], + ], ], - 'schemes' => [ - 'https', + 'title' => 'Trigger elastic scaling based on a specified adjustment rule', + 'summary' => 'Triggers elastic scaling based on a specified adjustment rule.', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you call this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the Active state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" + ."\n" + .'- If no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + .'- If the number of ECS instances to be added based on the scaling rule plus the current number of instances in the scaling group (Total Capacity) is greater than the maximum number of instances (MaxSize), the scaling activity is performed with Total Capacity set to MaxSize.'."\n" + .'- If the current number of instances in the scaling group (Total Capacity) minus the number of ECS instances to be removed based on the scaling rule is less than the minimum number of instances (MinSize), the scaling activity is performed with Total Capacity set to MinSize.'."\n" + ."\n" + .'A successful response only indicates that Auto Scaling has accepted the request and can perform the scaling activity. It does not mean that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned `ScalingActivityId`.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InsufficientBalance|Your account does not have enough balance.|The account balance is insufficient.|'."\n" + .'|400|QuotaExceed.Instance|Living instance quota exceeded.|The number of ECS instances has reached the upper limit.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the SLB instance associated with the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified vSwitch are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances added to the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.NoChange|To execute the specified scaling rule, the total capacity will not change.|The scaling rule does not cause a change in the number of instances in the scaling group.|'."\n" + .'|400|QuotaExceeded.ScalingInstance|Scaling instance quota exceeded.|The number of ECS instances used by Auto Scaling has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.AfterpayInstance|Living afterpay instance quota exceeded.|The number of pay-as-you-go ECS instances has reached the upper limit.|'."\n" + .'|400|ResourceNotAvailable.ECS|The specified region or zone does not offer the specified disk or instance category.|The specified ECS instance type or disk type cannot be created in the specified region.|'."\n" + .'|400|ScalingRule.InvalidScalingRuleType|Specific scaling rule type: %s can not be executed.|The scaling rule of the current type cannot be executed.|'."\n" + .'|400|InvalidStepAdjustments.NoStepFound|No adjustment step found for a metric value of: %s.|No step that meets the conditions is found for the step scaling rule.|'."\n" + .'|400|MissingParameter.MetricValue|Metric value must be specified for StepScalingRule.|A metric value must be specified to execute a step scaling rule.|'."\n" + .'|400|MissingParameter.BreachThreshold|Breach threshold must be specified for StepScalingRule.|A breach threshold must be specified to execute a step scaling rule.|'."\n" + .'|400|BreachThresholdBeyondPermitRange|Specific parameter "%s" beyond permit range.|The threshold exceeds the permitted range.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleWithAdjustment'], + ], + ], + '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' => [ + 'summary' => 'Enables or disables deletion protection for a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '232220', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '92717', + '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. After deletion protection is enabled, the scaling group cannot be deleted in the console or by calling an API operation. To delete the scaling group, disable deletion protection first.'."\n" + .'- false: Disables deletion protection.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA7****', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\"\\n}","type":"json"}]', + 'title' => 'Enable or disable deletion protection for a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|'."\n" + .'|400|InvalidOperation.Conflict|Specific operation may conflicts with other operations, please retry later.|The operation conflicts with another operation. Try again later.', + '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}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetGroupDeletionProtection'], + ], + ], + ], + 'SetInstanceHealth' => [ + 'summary' => 'Sets the health status of an ECS instance in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScalingGroupId', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92718', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance in the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'i-bp1ap6bro51a7fsa****', 'title' => ''], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => ['description' => 'The health status that you want to set for the instance. Valid values:'."\n" + ."\n" + .'- Healthy: sets the instance to the healthy state.'."\n" + .'- Unhealthy: sets the instance to the unhealthy state.', 'type' => 'string', 'required' => true, 'example' => 'Healthy', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', + 'title' => 'Set the health status of an ECS instance in a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'The scaling group detects and removes instances that are in an unhealthy state, including ECS instances and elastic container instances. If you want to retain specific ECS instances or elastic container instances, put them in the standby or protection status. For more information, see [EnterStandby](~~69678~~) and [SetInstancesProtection](~~71517~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidInstanceId.NotFound|Instance "%s" does not exist.|The specified instance does not exist in the scaling group.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + '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}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstanceHealth'], + ], + ], + ], + 'SetInstancesProtection' => [ + 'summary' => 'Starts or stops protection for one or more ECS instances in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceRefreshTaskId', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92719', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ProtectedFromScaleIn', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to protect ECS instances from being terminated or removed from the scaling group during a scale-in activity. Valid values: '."\n" + ."\n" + .'- true: Protects the ECS instances.'."\n" + .'- false: Does not protect the ECS instances.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', + 'description' => 'The ID of the ECS instance.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', + 'maxItems' => 20, + 'title' => '', ], ], ], @@ -24187,35 +19062,57 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Start or stop protection for ECS instances in a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'After the protection status is enabled for an ECS instance:'."\n" + ."\n" + .'- The instance remains in this state until you stop the protection status.'."\n" + ."\n" + .'- Even if the number of instances in the scaling group changes or a monitoring node triggers a scale-in scaling activity, ECS instances in the protection status are not removed. You must remove the ECS instances before you can release them. For more information, see [Remove ECS instances](~~25955~~).'."\n" + ."\n" + .'- The health check status of an ECS instance is not updated when the instance is stopped or restarted.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description'."\n" + .'|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|Enable the scaling group.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to use the SetInstancesProtection operation.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","errorExample":""},{"type":"xml","example":"<RollbackInstanceRefreshResponse>\\n <RequestId>B13527BF-1FBD-4334-A512-20F5E9D3****</RequestId>\\n</RollbackInstanceRefreshResponse>","errorExample":""}]', - 'title' => 'RollbackInstanceRefresh', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstancesProtection'], + ], + ], ], 'StartInstanceRefresh' => [ - 'summary' => '启动实例刷新任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'Starts an instance refresh task in a scaling group to apply a new scaling configuration or update the image of instances in the scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -24227,179 +19124,195 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '232212', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + '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' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ 'name' => 'MinHealthyPercentage', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], + '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. Default value: 80.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'MaxHealthyPercentage', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + '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. Default value: 120.'."\n" + ."\n" + .'> If you set both MinHealthyPercentage and MaxHealthyPercentage to 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' => '', + 'description' => 'The desired configuration for the instance refresh.'."\n" + ."\n" + .'> - You cannot specify ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers at the same time. You must specify one of them.'."\n" + .'- The refresh task skips instances in the scaling group that already match the desired configuration.', 'type' => 'object', 'properties' => [ - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'm-2ze8cqacj7opnf***', - ], - 'ScalingConfigurationId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'asc-2zed7lqn4ts4****', - ], - 'LaunchTemplateId' => [ - 'type' => 'string', - ], - 'LaunchTemplateVersion' => [ - 'type' => 'string', - ], + 'ImageId' => ['description' => 'The image ID.'."\n" + ."\n" + .'> - After the instance refresh task is completed, the image configuration in the active configuration of the scaling group is updated to this image.'."\n" + .'- This parameter is not supported if 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.'."\n" + ."\n" + .'> After the instance refresh task is completed, the active scaling configuration of the scaling group is updated to this configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-2zed7lqn4ts4****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', '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 template version.'."\n" + .'- Latest: always uses the latest template version.'."\n" + ."\n" + .'> If the version is set to Default or Latest, the instance refresh task does not support rollback.', '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' => [ - 'type' => 'string', - ], + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g7.2xlarge', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'Containers' => [ + 'description' => 'The list of containers included in the instance.', 'type' => 'array', 'items' => [ + 'description' => 'The list of containers included in the instance.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'Image' => [ - 'type' => 'string', - ], + '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' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The container startup command. The 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' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The argument for the container startup command.', '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' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - 'FieldRefFieldPath' => [ - 'type' => 'string', - ], + 'Key' => ['description' => 'The environment variable name. The name must be 1 to 128 characters in length. The name can contain digits, letters, and underscores (\\_) and cannot start with a digit. Format: \\[0-9a-zA-Z\\].', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The environment variable value. 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 available for use.', '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' => [ - 'type' => 'boolean', - ], + '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 specific 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 are refreshed when the instance refresh task starts.'."\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. When the percentage of new instances reaches the specified value, the task is automatically paused for the duration specified by CheckpointPauseTime.', 'type' => 'array', 'items' => [ + 'description' => 'The checkpoints for the refresh task. When the percentage of new instances reaches the specified value, the task is automatically paused for the duration specified by CheckpointPauseTime.', 'type' => 'object', 'properties' => [ - 'Percentage' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + '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' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + '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: refreshes instances by creating new instances and releasing old instances.'."\n" + .'* ReplaceSystemDisk: updates the system cloud disk of existing instances by specifying DesiredConfiguration.image.'."\n" + ."\n" + .'Default value: Rolling.', 'type' => 'string', 'required' => false, 'example' => 'Rolling', 'title' => ''], ], ], 'responses' => [ @@ -24407,188 +19320,2123 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'InstanceRefreshTaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ir-a12ds234fasd*****', - ], + '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' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartInstanceRefreshResponse>\\n <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>\\n <InstanceRefreshTaskId>ir-a12ds234fasd*****</InstanceRefreshTaskId>\\n</StartInstanceRefreshResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', 'title' => 'StartInstanceRefresh', + 'description' => '## Operation description'."\n" + .'- A scaling group can have only one instance refresh task running 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 recycle pattern is set to **Shutdown and Reclaim Mode** or **Forced Shutdown and Reclaim Mode** 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 task.'."\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 task and do not participate in the instance refresh.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'ess.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'ess.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'ess.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ess.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'ess.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'ess.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', + 'SuspendInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '232222', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The scaling group ID.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The instance refresh task ID.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'SuspendInstanceRefresh', + 'summary' => 'Pauses an instance refresh task during execution. If you suspect that the configuration has issues but are not sure whether a rollback is needed, you can call this operation to pause the instance refresh task and check whether the configuration is correct.', + 'description' => '## Operation description'."\n" + .'This operation is not supported for instance refresh tasks that are in the rollback phase.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + '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"}]', ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'ess.aliyuncs.com', + 'SuspendProcesses' => [ + 'summary' => 'Suspends specified scaling processes in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92720', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotency of the request.'."\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 [How to ensure idempotency](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'Process', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The type of scaling process to suspend. Valid values of N: 1 to 100. Valid values:'."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.'."\n" + ."\n" + .'The system supports suspending the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', + 'type' => 'array', + 'items' => ['description' => 'The type of scaling process to suspend. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.'."\n" + ."\n" + .'The system supports suspending five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'string', 'required' => false, 'example' => 'ScaleIn', 'title' => ''], + 'required' => true, + 'example' => 'ScaleIn', + 'maxItems' => 100, + 'title' => '', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB5****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB5****\\"\\n}","type":"json"}]', + 'title' => 'Suspend specified scaling processes in a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendProcesses'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'ess.me-central-1.aliyuncs.com', + 'TagResources' => [ + 'summary' => 'Creates and binds tags to a specified list of Auto Scaling resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92721', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Currently, only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource ID. Valid values of N: 1 to 50.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-2zej7nf7hea77k5a****', 'title' => ''], + 'required' => true, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag information of the resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information of the resource.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Once specified, the tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag is a propagated tag. Valid values:'."\n" + ."\n" + .'- true: The tags on the scaling group are propagated only to instances that are about to be created, and are not propagated to instances that are already running in the scaling group.'."\n" + .'- false: The tags on the scaling group are not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'description' => '## Description'."\n" + ."\n" + .'- A scaling group supports binding up to 20 tags.'."\n" + .' >Before binding tags, Alibaba Cloud verifies the number of existing tags on the resource. If the limit is exceeded, an error message is returned.'."\n" + ."\n" + .'- If the `Tag.N.Propagate` parameter is set to `true`, the tags set on the scaling group are only propagated to instances that are about to be created in the scaling group, and are not propagated to instances that are already running in the scaling group.'."\n" + ."\n" + .'- If tags are configured in the scaling configuration and the tags set on the scaling group are propagated, the tags on the instances that are about to be created are expected as follows:'."\n" + .' - The instances contain all tags from both the scaling configuration and the propagated tags from the scaling group.'."\n" + .' - If a tag in the scaling configuration has the same tag key as a propagated tag from the scaling group, the propagated tag from the scaling group is overridden by the tag in the scaling configuration.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', + 'UntagResources' => [ + 'summary' => 'After a tag is unbound, the tag is automatically deleted if it is not bound to any other resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92722', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to unbind all tags from the resource. This parameter takes effect only if TagKey.N is not set in the request. Valid values:'."\n" + ."\n" + .'- true: All tags are unbound from the resource.'."\n" + .'- false: Not all tags are unbound from the resource.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource ID. Valid values of N: 1 to 50.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + 'required' => true, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag key of the resource. Valid values of N: 1 to 20.', + 'type' => 'array', + 'items' => ['description' => 'The tag key of the resource. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'required' => false, + 'example' => 'TestKey', + 'maxItems' => 21, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]', + 'title' => 'Unbind tags from specified Auto Scaling resources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'ess.na-south-1.aliyuncs.com', + 'VerifyAuthentication' => [ + 'summary' => 'Checks whether Auto Scaling is authorized to operate on ECS resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92723', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + ], + 'parameters' => [ + [ + 'name' => 'Uid', + 'in' => 'query', + 'schema' => ['description' => 'The ID of your Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123456781234****', 'title' => ''], + ], + [ + 'name' => 'OnlyCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to only check the authorization status. Valid values:'."\n" + ."\n" + .'- true: Only checks the authorization status without creating a service-linked role.'."\n" + .'- false: Checks the authorization status. If Auto Scaling is not authorized to operate on ECS or Elastic Container Instance (ECI) resources, a service-linked role is associated through automatic creation.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'Check whether Auto Scaling is authorized to operate on ECS resources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyAuthentication'], + ], + ], ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', + 'VerifyUser' => [ + 'summary' => 'Verifies whether Auto Scaling is activated.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92724', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where you want to use Auto Scaling.'."\n" + ."\n" + .'Examples: `ap-southeast-1` and `ap-southeast-5`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Verify whether Auto Scaling is activated', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyUser'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"\\"\\n}","type":"json"}]', ], - [ - 'regionId' => 'cn-wulanchabu-gic-1', - 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', + ], + '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 <parameter name> 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' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnterStandby'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachVServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEciScalingConfiguration'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebalanceInstances'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyAuthentication'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScheduledTask'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScheduledTask'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachVServerGroups'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNotificationConfiguration'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePatternTypes'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingRule'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingConfigurations'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachAlbServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveInstances'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachAlbServerGroups'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationTypes'], + ['threshold' => '1800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteScalingRule'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingInstances'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecycleHook'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScheduledTasks'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEciScalingConfiguration'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNotificationConfiguration'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleHooks'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAlarm'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlarm'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetGroupDeletionProtection'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivityDetail'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAlarm'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyUser'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAlarms'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivities'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExitStandby'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationConfigurations'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLoadBalancers'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecycleHook'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAlarm'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingRules'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateScalingConfiguration'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableScalingGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNotificationConfiguration'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeElasticStrength'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScheduledTask'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecordLifecycleActionHeartbeat'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleWithAdjustment'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingGroup'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingConfiguration'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDBInstances'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstancesProtection'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLoadBalancers'], + ['threshold' => '1500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CompleteLifecycleAction'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendProcesses'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEciScalingConfiguration'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachInstances'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingConfiguration'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLimitation'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingGroup'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingConfiguration'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeProcesses'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableScalingGroup'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEciScalingConfigurations'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstanceHealth'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDBInstances'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingRule'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleHook'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableAlarm'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleActions'], ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'ess.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'AutoScaling', + 'productName' => 'Auto Scaling', + 'ramCodes' => ['ess'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + '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' => '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' => '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' => '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' => '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' => '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' => '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' => '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' => 'ListTagKeys', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => 'operate', + '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' => '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' => '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' => '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' => '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}'], + ], + ], + ], + [ + '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' => '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' => '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' => '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' => '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' => 'DescribeCapacityHistory', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeCapacityHistory', + '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' => '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' => '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' => 'DeleteEciScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + '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' => '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' => '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' => 'DetachAlbServerGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + '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' => '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' => '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' => 'DescribeUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => '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' => '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' => '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' => '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' => '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' => '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' => 'DetachDBInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + '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' => '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' => 'DescribeScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeRegions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ApplyScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => 'VerifyAuthentication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => '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' => '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' => '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' => 'DescribeNotificationTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => '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' => 'RecordLifecycleActionHeartbeat', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + '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' => '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' => 'DescribeLimitation', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => 'DeactivateScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => 'DescribePatternTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + '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' => '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' => 'DescribeElasticStrength', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => 'ReplaceSystemDisk', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ReplaceSystemDisk', + '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' => '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' => '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' => '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' => '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' => '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' => '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' => 'ModifyScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => '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' => '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' => 'ListTagValues', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => 'VerifyUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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' => 'CreateScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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' => '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}'], + ], + ], + ], ], - [ - 'regionId' => 'cn-zhongwei', - 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], ], ], ]; |
