diff options
Diffstat (limited to 'data/en_us/ess/2022-02-22')
| -rw-r--r-- | data/en_us/ess/2022-02-22/api-docs.php | 39627 |
1 files changed, 15716 insertions, 23911 deletions
diff --git a/data/en_us/ess/2022-02-22/api-docs.php b/data/en_us/ess/2022-02-22/api-docs.php index 2c8d7e0..7266551 100644 --- a/data/en_us/ess/2022-02-22/api-docs.php +++ b/data/en_us/ess/2022-02-22/api-docs.php @@ -1,225 +1,87 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ess', - 'version' => '2022-02-22', - ], + 'info' => ['style' => 'RPC', 'product' => 'Ess', 'version' => '2022-02-22'], 'directories' => [ [ - 'id' => 172331, - 'title' => 'Scaling groups', - 'type' => 'directory', 'children' => [ - 'CreateScalingGroup', - 'ModifyScalingGroup', - 'EnableScalingGroup', - 'DisableScalingGroup', - 'SetGroupDeletionProtection', - 'DeleteScalingGroup', - 'DescribeScalingGroups', - 'DescribeScalingGroupDetail', - 'DescribeScalingInstances', - 'DescribeScalingActivities', - 'DescribeScalingActivityDetail', - 'AttachLoadBalancers', - 'DetachLoadBalancers', - 'AttachDBInstances', - 'DetachDBInstances', - 'SuspendProcesses', - 'ResumeProcesses', - 'AttachVServerGroups', - 'DetachVServerGroups', - 'AttachAlbServerGroups', - 'DetachAlbServerGroups', - 'AttachServerGroups', - 'DetachServerGroups', - 'ChangeResourceGroup', - 'ApplyScalingGroup', - 'DescribeElasticStrength', + 'CreateScalingGroup', 'ModifyScalingGroup', 'EnableScalingGroup', 'DisableScalingGroup', 'SetGroupDeletionProtection', 'DeleteScalingGroup', 'DescribeScalingGroups', 'DescribeScalingGroupDetail', 'DescribeScalingInstances', 'DescribeScalingActivities', 'DescribeScalingActivityDetail', 'AttachLoadBalancers', 'DetachLoadBalancers', 'AttachDBInstances', 'DetachDBInstances', 'SuspendProcesses', 'ResumeProcesses', 'AttachVServerGroups', 'DetachVServerGroups', 'AttachAlbServerGroups', + 'DetachAlbServerGroups', 'AttachServerGroups', 'DetachServerGroups', 'DescribeElasticStrength', ], - ], - [ - 'id' => 172353, - 'title' => 'Scaling configurations', 'type' => 'directory', - 'children' => [ - 'CreateScalingConfiguration', - 'DescribeScalingConfigurations', - 'ModifyScalingConfiguration', - 'DeleteScalingConfiguration', - 'CreateEciScalingConfiguration', - 'DescribeEciScalingConfigurations', - 'DescribeEciScalingConfigurationDetail', - 'ModifyEciScalingConfiguration', - 'ApplyEciScalingConfiguration', - 'DeleteEciScalingConfiguration', - 'DescribePatternTypes', - ], + 'title' => 'Scaling groups', ], [ - 'id' => 172361, - 'title' => 'Scaling rules', + 'children' => ['CreateScalingConfiguration', 'DescribeScalingConfigurations', 'ModifyScalingConfiguration', 'DeleteScalingConfiguration', 'CreateEciScalingConfiguration', 'DescribeEciScalingConfigurations', 'ModifyEciScalingConfiguration', 'ApplyEciScalingConfiguration', 'DeleteEciScalingConfiguration', 'DescribeCandidateInstanceType'], 'type' => 'directory', - 'children' => [ - 'CreateScalingRule', - 'ModifyScalingRule', - 'DescribeScalingRules', - 'DeleteScalingRule', - ], + 'title' => 'Scaling configurations', ], [ - 'id' => 172367, - 'title' => 'Scaling tasks', + 'children' => ['CreateScalingRule', 'ModifyScalingRule', 'DescribeScalingRules', 'DeleteScalingRule'], 'type' => 'directory', - 'children' => [ - 'ExecuteScalingRule', - 'ScaleWithAdjustment', - 'AttachInstances', - 'RemoveInstances', - 'DetachInstances', - ], + 'title' => 'Scaling rules', ], [ - 'id' => 172370, - 'title' => 'Scheduled tasks', + 'children' => ['ExecuteScalingRule', 'ScaleWithAdjustment', 'RemoveInstances', 'DetachInstances'], 'type' => 'directory', - 'children' => [ - 'CreateScheduledTask', - 'ModifyScheduledTask', - 'DescribeScheduledTasks', - 'DeleteScheduledTask', - ], + 'title' => 'Scaling tasks', ], [ - 'id' => 172375, - 'title' => 'Event-triggered tasks', + 'children' => ['DescribeScheduledTasks'], 'type' => 'directory', - 'children' => [ - 'CreateAlarm', - 'DescribeAlarms', - 'ModifyAlarm', - 'EnableAlarm', - 'DisableAlarm', - 'DeleteAlarm', - ], + 'title' => 'Scheduled tasks', ], [ - 'id' => 196165, - 'title' => 'Instance refresh', + 'children' => ['CreateAlarm', 'DescribeAlarms', 'ModifyAlarm', 'EnableAlarm', 'DisableAlarm', 'DeleteAlarm'], 'type' => 'directory', - 'children' => [ - 'DescribeInstanceRefreshes', - 'StartInstanceRefresh', - 'CancelInstanceRefresh', - 'RollbackInstanceRefresh', - 'SuspendInstanceRefresh', - 'ResumeInstanceRefresh', - ], + 'title' => 'Event-triggered tasks', ], [ - 'id' => 172382, - 'title' => 'Lifecycle hooks', + 'children' => ['DescribeInstanceRefreshes', 'StartInstanceRefresh'], 'type' => 'directory', - 'children' => [ - 'CreateLifecycleHook', - 'ModifyLifecycleHook', - 'DescribeLifecycleHooks', - 'RecordLifecycleActionHeartbeat', - 'DescribeLifecycleActions', - 'CompleteLifecycleAction', - 'DeleteLifecycleHook', - ], + 'title' => 'Instance refresh', ], [ - 'id' => 172390, - 'title' => 'Event notifications', + 'children' => ['RecordLifecycleActionHeartbeat', 'DescribeLifecycleActions', 'CompleteLifecycleAction'], 'type' => 'directory', - 'children' => [ - 'CreateNotificationConfiguration', - 'ModifyNotificationConfiguration', - 'DescribeNotificationConfigurations', - 'DeleteNotificationConfiguration', - 'DescribeNotificationTypes', - ], + 'title' => 'Lifecycle hooks', ], [ - 'id' => 199238, - 'title' => 'Health diagnosis', + 'children' => ['CreateNotificationConfiguration', 'ModifyNotificationConfiguration', 'DescribeNotificationConfigurations'], 'type' => 'directory', - 'children' => [ - 'CreateDiagnoseReport', - 'DescribeDiagnoseReports', - 'DescribeScalingGroupDiagnoseDetails', - ], + 'title' => 'Event notifications', ], [ - 'id' => 172396, - 'title' => 'Instances', + 'children' => ['DescribeDiagnoseReports', 'DescribeScalingGroupDiagnoseDetails'], 'type' => 'directory', - 'children' => [ - 'EnterStandby', - 'ExitStandby', - 'RebalanceInstances', - 'SetInstanceHealth', - 'SetInstancesProtection', - ], + 'title' => 'Health diagnosis', ], [ - 'id' => 172402, - 'title' => 'Regions', + 'children' => ['EnterStandby', 'ExitStandby', 'RebalanceInstances', 'SetInstanceHealth', 'SetInstancesProtection'], 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], + 'title' => 'Instances', ], [ - 'id' => 172404, - 'title' => 'Tags', + 'children' => ['DescribeInstanceCreateAndDeleteStatistics', 'QueryPredictiveValue', 'QueryHistoricalMetric', 'QueryPredictiveTaskInfo', 'QueryPredictiveMetric', 'DeleteDiagnoseReport', 'DescribeScalingActivityStatistics'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'UntagResources', - 'ListTagKeys', - 'ListTagValues', - ], + 'title' => 'Other', ], [ - 'id' => 188157, - 'title' => 'Other', - 'type' => 'directory', 'children' => [ - 'VerifyUser', - 'VerifyAuthentication', - 'DescribeLimitation', - 'ModifyInstanceAttribute', - 'DescribeAlertConfiguration', - 'ModifyAlertConfiguration', - 'DescribeInstanceCreateAndDeleteStatistics', - 'QueryPredictiveValue', - 'QueryHistoricalMetric', - 'QueryPredictiveTaskInfo', - 'QueryPredictiveMetric', - 'DeleteDiagnoseReport', - 'DescribeScalingActivityStatistics', + 'ApplyScalingGroup', 'AttachInstances', 'CancelInstanceRefresh', 'ChangeResourceGroup', 'CreateDiagnoseReport', 'CreateLifecycleHook', 'CreateScheduledTask', 'DeleteLifecycleHook', 'DeleteNotificationConfiguration', 'DeleteScheduledTask', 'DescribeAlertConfiguration', 'DescribeEciScalingConfigurationDetail', 'DescribeLifecycleHooks', 'DescribeLimitation', 'DescribeNotificationTypes', 'DescribePatternTypes', 'DescribeRegions', 'ListTagKeys', 'ListTagResources', 'ListTagValues', + 'ModifyAlertConfiguration', 'ModifyInstanceAttribute', 'ModifyLifecycleHook', 'ModifyScheduledTask', 'ResumeInstanceRefresh', 'RollbackInstanceRefresh', 'SuspendInstanceRefresh', 'TagResources', 'UntagResources', 'VerifyAuthentication', 'VerifyUser', ], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateScalingGroup' => [ - 'summary' => 'Creates a scaling group. You can call the CreateScalingGroup operation to automate the adjustment of computing power of a specific type based on your business requirements and scaling polices.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ApplyEciScalingConfiguration' => [ + 'summary' => 'Applies a scaling configuration of the Elastic Container Instance type. If you want to create and manage scaling configurations of the Elastic Container Instance type by using a configuration file, you can call the ApplyEciScalingConfiguration operation.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -231,1062 +93,406 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '125385', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - ], + 'abilityTreeCode' => '212847', + 'abilityTreeNodes' => ['FEATUREessWJGIW5', 'FEATUREessT4M3WE'], ], '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.'."\n" - ."\n" - .'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', - '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**** ', - ], - ], - [ - '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' => 'InstanceId', + 'name' => 'Content', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance. When you create a scaling group, you can specify an existing ECS instance. Auto Scaling obtains the configurations of the ECS instance and automatically creates a scaling configuration from the obtained configurations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'MinSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be contained in the scaling group. When the total number of ECS instances in the scaling group is less than the value of MinSize, Auto Scaling automatically creates ECS instances in the scaling group until the total number reaches the minimum number.'."\n" - ."\n" - .'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'MaxSize', + 'name' => 'Format', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances that can be contained in the scaling group. When the total number of ECS instances in the scaling group exceeds the value of MaxSize, Auto Scaling automatically removes ECS instances from the scaling group until the total number equals the maximum number.'."\n" - ."\n" - .'The value range of MaxSize is directly correlated with the degree of dependency your business has on Auto Scaling. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check **the maximum number of instances that a single scaling group can contain.**'."\n" - ."\n" - .'If **a single scaling group can contain up to 2,000 ECS instances**, the value range of MaxSize is 0 to 2,000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'Optional. Set the value to YAML.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''], ], [ - 'name' => 'DefaultCooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period of the scaling group after a scaling activity is complete in the scaling group. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], - ], - [ - 'name' => 'LoadBalancerIds', + 'name' => 'ScalingGroupId', '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****"]', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'DBInstanceIds', + 'name' => 'ScalingConfigurationId', '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****"]', - ], + 'schema' => ['description' => 'The ID of the scaling configuration.'."\n" + ."\n" + .'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], ], - [ - 'name' => 'RemovalPolicies', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - '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 policy. 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', - 'required' => false, - 'example' => 'OldestScalingConfiguration', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], ], - 'required' => false, - 'maxItems' => 2, - ], - ], - [ - '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 parameter, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], - ], - [ - 'name' => 'MultiAZPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling policy for ECS instances in the multi-zone scaling group. Valid values:'."\n" - ."\n" - .'* PRIORITY: scale ECS instances based on the priority of the vSwitches specified by VSwitchIds. Auto Scaling preferentially scales instances in the zone where the vSwitch of the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch of the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: create ECS instances that have the lowest unit price of vCPUs during scale-out events and removes ECS instances that have the highest unit price of vCPUs during scale-in events. If you specify preemptible instance types in your scaling configuration, Auto Scaling will preferentially create preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances in the case that preemptible instances cannot be created due to limited stock.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only when your scaling configuration contains multiple instance types or specifically contains preemptible instance types.'."\n" - ."\n" - .'* BALANCE: evenly distribute ECS instances across the zones that are specified for the scaling group. If ECS instances are unevenly distributed across the specified zones due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) operation to evenly distribute the instances across the zones.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** When you set `MultiAZPolicy` to `BALANCE`, this setting has an equivalent effect to setting `MultiAZPolicy` to `COMPOSABLE` and enabling `AzBalance` to `true`.'."\n" - ."\n" - .'* COMPOSABLE: combine the preceding policies into a custom scaling policy based on your business requirements. Alternatively, you can specify custom parameters to finely control the capacity of the scaling group.'."\n" - ."\n" - .'Default value: PRIORITY.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', ], ], - [ - 'name' => 'HealthCheckType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not check the health status of instances.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n" - ."\n" - .'Default value: ECS.'."\n" - ."\n" - .'> If you want to enable instance health check and load balancer health check at the same time, we recommend that you specify `HealthCheckTypes`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], - ], - [ - 'name' => 'ScalingPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: the economical mode'."\n" - ."\n" - .'* release: the release mode'."\n" - ."\n" - .'* forcerelease: the forced release mode'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you set the value to forcerelease, Auto Scaling will forcibly release the ECS instances that are in the `Running` state during the scale-out events. Forced release equates to an immediate power-off, resulting in the irreversible deletion of all ephemeral data stored on the instance. Once executed, this action cannot be undone and the lost data cannot be recovered. Exercise caution when you select this option.'."\n" - ."\n" - .'* forcerecycle: the forced recycle mode'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you set the value to forcerecycle, Auto Scaling will forcibly shut down the ECS instances that are in the `Running` state during the scale-out events. Forced recycle equates to an immediate power-off, resulting in the irreversible deletion of all ephemeral data stored on the instance. Once executed, this action cannot be undone and the lost data cannot be recovered. Exercise caution when you select this option.'."\n" - ."\n" - .'ScalingPolicy specifies the reclaim mode of the scaling group. RemovePolicy of the RemoveInstances operation specifies the specific instance removal action. For more information, see [RemoveInstances](~~25955~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'recycle', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => '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", - '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", - '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', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ApplyEciScalingConfiguration', + 'description' => '基于YAML配置文件管理ECI类型的伸缩配置时,您需要注意以下事项:'."\n" + ."\n" + .'- 如果指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件更新ECI类型的伸缩配置。'."\n" + .'- 如果未指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件创建对应ECI类型的伸缩配置。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp16har3jpj6fjbx****\\"\\n}","type":"json"}]', + ], + 'ApplyScalingGroup' => [ + 'summary' => 'Creates and manages scaling groups by using configuration files. You can call the ApplyScalingGroup operation to create and manage scaling groups by using configuration files with efficiency.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SpotInstancePools', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of available instance types. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest cost in the scaling group. Valid values: 1 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '206521', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ', 'FEATUREessXN6KX4'], + ], + 'parameters' => [ [ - 'name' => 'DesiredCapacity', + 'name' => 'Content', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the specified expected number of ECS instances. The DesiredCapacity value cannot be greater than the MaxSize value or less than the MinSize value.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], ], [ - 'name' => 'GroupDeletionProtection', + 'name' => 'RegionId', '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', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], - [ - 'name' => 'GroupType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****'], + 'ScalingGroupId' => ['description' => 'The ID of the enabled scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'ContainerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-uf6fonnghi50u374****', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', + 'title' => 'ApplyScalingGroup', + 'description' => 'You can call the ApplyScalingGroup operation to create scaling groups of the Elastic Container Instance type with ease. The resources of the scaling groups are defined in Kubernetes Deployment YAML files. You can also call this operation to extend annotations for elastic container instances in Kubernetes Deployment YAML files. For more information, see "Supported annotations" in this topic.'."\n" + ."\n" + .'Mapping between YAML files and scaling groups: You can map the triplet of namespace, kind, and name in a YAML file to a scaling group name. A YAML file and a scaling group have a one-to-one mapping relationship in a region. For example, if you use the Kubernetes Deployment YAML file whose name is NGINX in the default namespace to create a scaling group in a region, the unique name of the mapped scaling group is k8s\\_default\\_Deployment\\_nginx.'."\n" + ."\n" + .'You can use a Kubernetes Deployment YAML file to manage a scaling group based on the following logic:'."\n" + ."\n" + .'* If an existing scaling group has a mapping relationship with your Kubernetes Deployment YAML file, you can update the scaling group by using the YAML file.'."\n" + .'* If no scaling group that has a mapping relationship with your Kubernetes Deployment YAML file exists, you can create a scaling group with ease by using the YAML file.'."\n" + ."\n" + .'1. If you do not specify a virtual private cloud (VPC), vSwitch, security group, or annotation in your Kubernetes Deployment YAML file, the system creates a default VPC that has default vSwitches and uses the default security group ess-default-sg of Auto Scaling. By default, the security group rule allows traffic on Transmission Control Protocol (TCP)-based port 22 and port 3389 and enables Internet Control Message Protocol (ICMP) for IPv4 addresses. If you want to enable other ports or protocols, you can create custom security group rules.'."\n" + .'2. If you want to use a public image, you must enable the Internet access feature and configure the k8s.aliyun.com/eci-with-eip pod annotation to enable the elastic IP address (EIP) feature.'."\n" + .'3. After you call the ApplyScalingGroup operation to apply a Kubernetes Deployment YAML file, the scaling group immediately enters the Enabled state and the scaling configuration immediately enters the Active state. If the number of replicas that you specified in the YAML file is grater than 0, elastic container instances are automatically created.'."\n" + ."\n" + .'### Supported annotations'."\n" + ."\n" + .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" + ."\n" + .'|Annotation|Example|Description|'."\n" + .'|---|---|---|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum size of the scaling group that you want to create. Default value: 0.|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum size of the scaling group that you want to create. Default value: maximum number of replicas or 30, whichever is greater.|'."\n" + .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The IP address of the Network Time Protocol (NTP) server.|'."\n" + .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specifications of 2 vCPUs and 4 GiB of memory. For more information, see [Create pods by specifying multiple specifications](~~451267~~).|'."\n" + .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c\\*\\*\\*\\*|The ID of the vSwitch. You can specify multiple vSwitches to specify multiple zones.|'."\n" + .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv\\*\\*\\*\\*|The ID of the security group. Before you configure this annotation, take note of the following requirements:<ul data-sourcepos="26:74-26:168"><li data-sourcepos="26:78-26:114">You can specify one or more security groups. You can specify up to five security groups for each scaling group.</li><li data-sourcepos="26:114-26:140">If you specify multiple security groups, the security groups must belong to the same VPC.</li><li data-sourcepos="26:140-26:163">If you specify multiple security groups, the security groups must be of the same type.</li></ul>|'."\n" + .'|k8s.aliyun.com/eci-sls-enable|"false"|If you set the value to false, the log collection feature is disabled.'."\n" + ."\n" + .'If you do not want to use Custom Resource Definition (CRD) for Simple Log Service to collect logs of specific pods, you can configure this annotation for the pods and set the value to false. This prevents resource wastes caused by Logtails created by the system.|'."\n" + .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for preemptible instances. Valid values:<ul data-sourcepos="28:69-28:204"><li data-sourcepos="28:73-28:158">SpotWithPriceLimit: The instances are created as preemptible instances with a maximum hourly price. If you set the value to SpotWithPriceLimit, you must configure the k8s.aliyun.com/eci-spot-price-limit annotation.</li><li data-sourcepos="28:158-28:199">SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.</li></ul>|'."\n" + .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price of preemptible instances. This value can be accurate to up to three decimal places.'."\n" + ."\n" + .'This annotation takes effect only when you set the k8s.aliyun.com/eci-spot-strategy annotation to SpotWithPriceLimit.|'."\n" + .'|k8s.aliyun.com/eci-with-eip|"true"|If you set the value to true, an elastic IP address (EIP) is automatically created and bound to each elastic container instance.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-bucket|default|The bucket of data caches. If you want to create a pod based on data caches, you must configure this annotation.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk that you want to create based on data caches.'."\n" + ."\n" + .'By default, enterprise SSDs (ESSDs) are created. Default value: PL1.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" + ."\n" + .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether the Burst feature is enabled for the ESSD AutoPL disk. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" + ."\n" + .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" + .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The tags that you want to add to each elastic container instance. You can add up to three tags for each elastic container instance. Separate a tag key and a tag value with a colon (:). Separate multiple tags with commas (,).|', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'operationType' => 'write', + ], + 'AttachAlbServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the vSwitches. If you specify VSwitchIds, VSwitchId is ignored. If you specify VSwitchIds, 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" - .'* vSwitches are sorted in ascending order based on their priorities. The first vSwitch has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling attempts to create ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" - ."\n" - .'> If you do not specify VSwitchId or VSwitchIds for your scaling group, the network type of the scaling group is classic network.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch. If you specify VSwitchIds, VSwitchId is ignored. If you specify VSwitchIds, 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" - .'* vSwitches are sorted in ascending order based on their priorities. The first vSwitch has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling attempts to create ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" - ."\n" - .'> If you do not specify VSwitchId or VSwitchIds for your scaling group, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], - 'required' => false, - 'maxItems' => 8, - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125338', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'LifecycleHooks', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The lifecycle hooks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lifecycle hook.'."\n", - 'type' => 'object', - 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The action that Auto Scaling performs when the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to the scaling request.'."\n" - .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n" - ."\n" - .'If multiple lifecycle hooks in the scaling group are triggered during scale-in events, and you set DefaultResult to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. 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 DefaultResult that you specify for the lifecycle hook that most recently 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 activity to which you want to apply the lifecycle hook. Valid values:'."\n" - ."\n" - .'* SCALE_OUT'."\n" - .'* SCALE_IN'."\n" - ."\n" - .'> If you specify lifecycle hooks for the scaling group, you must specify LifecycleTransition. Other parameters are optional.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_OUT', - ], - 'NotificationMetadata' => [ - 'description' => 'The fixed string that you want to include in notifications. When a lifecycle hook takes effect, Auto Scaling sends a notification. The fixed string can contain up to 4,096 characters in length. When Auto Scaling sends a notification to the recipient party, it includes predefined notification metadata into the notification. This helps in managing and labeling notifications of different categories. NotificationMetadata takes effect only if you specify NotificationArn.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient party. You can specify a Simple Message Queue (SMQ, formerly MNS) topic or queue as the recipient party. The value is in the acs:ess:{region}:{account-id}:{resource-relative-id} format.'."\n" - ."\n" - .'* region: the region ID of the scaling group'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* SMQ queue: acs:ess:{region}:{account-id}:queue/{queuename}'."\n" - .'* SMQ 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. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult. Valid values: 30 to 21600. Unit: seconds.'."\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 operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n" + ."\n" + .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information about regions and zones, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroups', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The backend vServer group that you want to associate with the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the backend vServer group that you want to associate with the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the backend vServer group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The attributes of the backend vServer group.'."\n", - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1443g77****', - ], - 'Weight' => [ - 'description' => 'The weight of each ECS instance as a backend server in the vServer group. If you increase the weight for an ECS instance, the number of requests that are forwarded to the ECS instance also increases. If you set the weight for an ECS instance to 0, no requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by each ECS instance as a backend server in the vServer group. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance to which the backend vServer group belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'Tags', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The collection of tag information for the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag that you want to add to the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Department', - ], - 'Value' => [ - 'description' => 'The tag value of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Finance '."\n", - ], - 'Propagate' => [ - 'description' => 'Identifies whether the tag is a propagatable tag. Valid values:'."\n" - ."\n" - .'* true: propagates the tag to only instances that are newly created.'."\n" - .'* false: does not propagate the tag to any instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'LaunchTemplateOverrides', + '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.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" - ."\n" - .'If you want to scale instances based on the weighted capacities of the instances, you must specify both the InstanceType and WeightedCapacity parameters.'."\n" - ."\n" - .'> This parameter is available only if you specify the LaunchTemplateId parameter.'."\n" - ."\n" - .'You can use the InstanceType parameter to specify only instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge '."\n", - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight specifies the capacity of an instance of the specified instance type in the scaling group. If you want to scale instances based on the weighted capacities of the instances, you must specify the WeightedCapacity parameter after you specify the InstanceType parameter.'."\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 and add 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 the WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - '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.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new ALB server group. Valid values:'."\n" + ."\n" + .'* true: adds the existing ECS instances or elastic container instances in the scaling group to the new ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are added to the ALB server group.'."\n" + .'* false: does not add the existing ECS instances or elastic container instances in the scaling group to the new ALB server group.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ 'name' => 'AlbServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Application Load Balancer (ALB) server groups.'."\n", + 'description' => 'The information about the ALB server groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the ALB server group that you want to associate with the scaling group.'."\n", + 'description' => 'Details of the ALB server group.'."\n", 'type' => 'object', 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n" - ."\n" - .'You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the ALB server group. If you increase the weight for an ECS instance, the number of requests that are forwarded to the ECS instance also increases. If you set the weight for an ECS instance to 0, no requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by each ECS instance as a backend server in the ALB server group. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****'], + 'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance after being added as a backend server to the ALB server group. Valid values: 0 to 100.'."\n" + ."\n" + .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If you assign zero weight to an instance, the instance is allocated no access requests.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100'], + 'Port' => ['description' => 'The port used by ECS instances or elastic container instances after being added as backend servers to the ALB server group.'."\n" + ."\n" + .'Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22'], ], 'required' => false, ], - 'required' => false, + 'required' => true, 'maxItems' => 100, ], ], - [ - 'name' => 'ServerGroups', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The information about the server groups.'."\n" - ."\n" - .'> You cannot use AlbServerGroups and ServerGroups to specify the same server group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the server group.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-5yc3bd9lfyh*****', - ], - 'Type' => [ - 'description' => 'The type of server group N. Valid Values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - .'* GWLB'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of each ECS instance as a backend server in the server group. Valid values: 0 to 100.'."\n" - ."\n" - .'The higher the weight, the more access requests the instance will be assigned. If the weight is 0, the instance will not receive any access requests.'."\n" - ."\n" - .'> For ALB and NLB types, this parameter is required. GWLB type cannot be set.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by each ECS instance as backend server in the vServer group. 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. During the scaling activity, the ALB server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the ALB server group.'."\n" + ."\n" + .'> This parameter is returned only if you set `ForceAttach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], - '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 takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> If you set `MultiAZPolicy` to `COMPOSABLE` and enable `AzBalance` to `true`, this setting has an equivalent effect to setting `MultiAZPolicy` to `BALANCE`.'."\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 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', - '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 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', - 'required' => false, - 'example' => 'lowestPrice', - ], - ], - [ - 'name' => 'SyncAlarmRuleToCms', - 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'description' => '', ], ], - [ - '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", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', + ], + 'title' => 'AttachAlbServerGroups', + 'summary' => 'Attaches Application Load Balancer (ALB) server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachAlbServerGroups operation. By attaching ALB server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'AttachDBInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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 to remove instances.'."\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' => '125394', + '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.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1avr6ensitts3w****'], ], [ - 'name' => 'LoadBalancerConfigs', + 'name' => 'ForceAttach', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The load balancer configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The CLB instance configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zen1olhfg9yw3f4qgte4', - ], - 'Weight' => [ - 'description' => 'The weight of each ECS instance as a backend server in the CLB backend server group. If you increase the weight for an ECS instance, the number of requests that are forwarded to the ECS instance also increases. If you set the weight for an ECS instance to 0, no requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'Specifies whether to add the private IP addresses of all ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance that you want to attach to the scaling group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'HealthCheckTypes', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The health check mode of the scaling group.'."\n" - ."\n" - .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify `HealthCheckType`, this parameter is ignored.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The health check modes of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not check the health status of instances.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + ."\n" + .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ 'name' => 'DBInstances', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The databases that you want to attach to the scaling group.'."\n", + 'description' => 'The IDs of the ApsaraDB RDS instances that you want to attach to the scaling group.'."\n", 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'description' => 'The database ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-m5eqju85s45mu0***', - ], - 'Type' => [ - 'description' => 'The database type. Valid values:'."\n" - ."\n" - .'* RDS'."\n" - .'* Redis'."\n" - .'* MongoDB'."\n" - ."\n" - .'Default value: RDS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], - 'AttachMode' => [ - 'description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n" - ."\n" - .'* SecurityIp: the mode in which Auto Scaling automatically adds the private IP addresses of ECS instances to the IP address whitelist of the database during scale-out events. You can set the value to SecurityIp only if you set Type to RDS.'."\n" - .'* SecurityGroup: the mode in which Auto Scaling adds the security group of the applied scaling configuration to the security group whitelist of the database. This setting allows ECS instances created from the scaling configuration to access the database.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SecurityIp', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - ], - ], - [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time required by the ECS instance to enter the Stopped state. Unit: seconds. Valid values: 30 to 240.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if you set ScalingPolicy to release.'."\n" + 'items' => ['description' => 'The ID of the ApsaraDB RDS instance that you want to attach to the scaling group.'."\n" ."\n" - .'* If you specify this parameter, the system will wait for the ECS instance to enter the Stopped state for the specified period of time before continuing with the scale-in operation, regardless of the status of the ECS instance.'."\n" - ."\n" - .'* If you do not specify this parameter, the system will wait for the ECS instance to stop before continuing with the scale-in operation. If the ECS instance is not successfully stopped, the scale-in process will be rolled back and considered failed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + .'> You can attach up to five ApsaraDB RDS instances to a scaling group at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3**** '."\n"], + 'required' => true, + 'maxItems' => 5, ], ], [ - 'name' => 'CapacityOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The capacity options.'."\n", - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'SpotAutoReplaceOnDemand' => [ - 'description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'PriceComparisonMode' => [ - 'description' => 'The cost comparison method. Valid values:'."\n" - ."\n" - .'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n" - ."\n" - .' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n" - ."\n" - .'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n" - ."\n" - .'Default value: PricePerUnit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PricePerUnit', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], [ - 'name' => 'BalanceMode', + 'name' => 'AttachMode', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n" - ."\n" - .'* BalancedBestEffort: If a resource fails to be created in a zone, it is downgraded to another zone to ensure best-effort delivery of the resource.'."\n" - .'* BalancedOnly: If a resource fails to be created in a zone, it is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n" - ."\n" - .'Default value: BalancedBestEffort.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BalancedBestEffort', - ], + 'schema' => ['description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n" + ."\n" + .'* SecurityIp: adds the private IP addresses of scaled out ECS instances to the IP address whitelist of the database. Take note that you can choose this mode only when the database that you want to attach is an ApsaraDB RDS instance.'."\n" + .'* SecurityGroup: adds the security group of the scaling configuration based on which ECS instances are created in the scaling group to the security group whitelist of the database for registration.'."\n" + ."\n" + .'Default value: SecurityIp.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SecurityIp'], ], [ - 'name' => 'AutoRebalance', + 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'title' => '自动重新平衡设置', - 'description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* false: Auto rebalancing is disabled for the scaling group.'."\n" - .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The type of the database that you want to attach to the scaling group. Valid values:'."\n" + ."\n" + .'* RDS'."\n" + .'* Redis'."\n" + .'* MongoDB'."\n" + ."\n" + .'Default value: RDS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'RDS'], ], ], 'responses' => [ @@ -1294,422 +500,249 @@ '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 ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ResourceNotAvailable.VPCNetwork', - 'errorMessage' => 'The specified zone does not support vpc network or sold out.', + 'title' => 'AttachDBInstances', + 'summary' => 'Associates one or more ApsaraDB RDS instances with a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]', - 'title' => 'CreateScalingGroup', - 'description' => 'A scaling group is a group of Elastic Compute Service (ECS) instances that can be used for similar purposes.'."\n" - ."\n" - .'You can create only a limited number of scaling groups in a region. To check the quota of the scaling groups, go to Quota Center.'."\n" - ."\n" - .'A scaling group does not immediately take effect after you create it. You can call the [EnableScalingGroup](~~25939~~) operation to enable a scaling group. You can trigger scaling events and execute scaling rules only in scaling groups that are in the Enabled state.'."\n" - ."\n" - .'If you want to attach a Classic Load Balancer (CLB, formerly known as SLB) instance and an ApsaraDB RDS instance to the scaling group that you want to create, the scaling group, the CLB instance, and the ApsaraDB RDS instance must reside in the same region. For more information, see [Regions and zones](~~40654~~).'."\n" - ."\n" - .'If you attach a CLB instance to the scaling group that you want to create, Auto Scaling automatically adds the ECS instances in the scaling group to the backend server groups of the CLB instance. You can specify the following types of server groups to add ECS instances:'."\n" - ."\n" - .'* Default server group: ECS instances in this group process frontend requests. If no listeners are configured for vServer groups or primary/secondary server groups, the frontend requests are forwarded to the ECS instances in the default server group.'."\n" - .'* vServer group: If you want to forward different requests to different backend servers, or you want to forward requests based on domain names or URLs, you can specify vServer groups.'."\n" - ."\n" - .'> If you specify both the default server group and multiple VServer groups, the ECS instances are added to these server groups.'."\n" - ."\n" - .'The default weight of each ECS instance as a backend server is 50. The CLB instance must meet the following requirements:'."\n" - ."\n" - .'* The CLB instance is in the Active state. You can call the [DescribeLoadBalancers](~~2401696~~) operation to query the status of CLB instances.'."\n" - .'* All listening ports configured for the CLB instance must be health check. Otherwise, the scaling group fails to be created.'."\n" - ."\n" - .'If you attach Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups to the scaling group that you want to create, Auto Scaling adds the ECS instances in your scaling group to the ALB or NLB server groups to process the access requests forwarded by the corresponding ALB or NLB 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" - .'If you associate an RDS instance with the scaling group, the scaling group will automatically add the internal IP addresses of ECS instances that join the scaling group to the access whitelist of the RDS instance. The RDS instance must meet the following requirements:'."\n" - ."\n" - .'* The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~610396~~) operation to view the status of the specified RDS instance.'."\n" - .'* The number of IPs in the RDS instance\'s access whitelist cannot exceed the upper limit. For more information, see [Configure a whitelist](~~43185~~).'."\n" - ."\n" - .'If the MultiAZPolicy for the scaling group is set to COST_OPTIMIZED, the following rules apply:'."\n" - ."\n" - .'* When you specify OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters (i.e., defining the instance allocation method under the cost optimization policy), Auto Scaling will prioritize this allocation method during scaling operations.'."\n" - .'* If you do not specify OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools, Auto Scaling preferentially creates instances of the lowest-priced instance type based on the cost optimization policy.'."\n" - ."\n" - .'If you set `Tags.Propagate` to true, the following rules will apply:'."\n" - ."\n" - .'* Tags added to the scaling group will only propagate to newly created instances and will not affect instances already running within the scaling group.'."\n" - .'* If instance tags are specified in the scaling configuration and the scaling group’s tags are propagated to the instance, all tags will coexist.'."\n" - .'* If the tag key specified in the scaling configuration matches a tag key in the scaling group, the tag value from the scaling configuration will take precedence.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', ], - 'ModifyScalingGroup' => [ - 'summary' => 'Modifies a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can modify scaling groups to adjust your computing power with ease. The computing power refers to the instances that provide the computing capability. When your scaling group cannot meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum, minimum, and expected numbers of instances. This prevents repeated creation and configuration of scaling groups, which saves you a lot of time and resource costs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AttachInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125326', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '125356', + '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - '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****', - ], - ], - [ - 'name' => 'MinSize', + 'name' => 'Entrusted', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances or elastic container instances that must be contained in the scaling group. If the total number of instances in the scaling group is less than the value of MinSize, Auto Scaling proactively adds instances to the scaling group to ensure that the total number aligns with the minimum threshold.'."\n" - ."\n" - .'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to use the scaling group to manage the lifecycles of manually added instances. Valid values:'."\n" + ."\n" + .'* true: The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" + .'* false: The scaling group does not manage the lifecycles of manually added instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" + ."\n" + .'> You cannot specify this parameter for subscription instances, non-Alibaba Cloud instances, and instances in Economical Mode.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'MaxSize', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of ECS instances or elastic container instances that can be contained in the scaling group. If the total number of instances in the scaling group is greater than the value of MaxSize, Auto Scaling proactively removes the surplus instances from the scaling group to restore the total number to match the maximum limit.'."\n" + 'description' => 'The IDs of the ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance, elastic container instance, non-Alibaba Cloud instance, or instance in Economical Mode.'."\n" ."\n" - .'The value range of MaxSize is directly correlated with the degree of dependency your business has on Auto Scaling. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check **the maximum number of instances that a single scaling group can contain.**'."\n" + .'Sample IDs:'."\n" ."\n" - .'For example, if a scaling group can contain up to **2,000** instances, the value range of MaxSize is 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '99', - ], - ], - [ - 'name' => 'DefaultCooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period of the scaling group. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + .'* ECS instance: i-28wt4\\*\\*\\*\\*.'."\n" + .'* Elastic container instance: eci-bp17gw49eu09yiwm\\*\\*\\*\\*.'."\n" + .'* Non-Alibaba Cloud instance: mi-2cx\\*\\*\\*\\*\\*.'."\n" + .'* ECS instance in Economical Mode: i-2cd2f\\*\\*\\*\\*.'."\n" ."\n" - .'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> You can add only instances of the same type to a scaling group at a time in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', + 'maxItems' => 100, ], ], [ - 'name' => 'RemovalPolicies', + 'name' => 'LoadBalancerWeights', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NewestInstance', - ], - 'required' => false, - 'maxItems' => 2, - ], - ], - [ - '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" + 'items' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 1 to 100.'."\n" ."\n" - .'* NONE: Auto Scaling does not check the health status of instances.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group. Default value: ECS.'."\n" + .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" ."\n" - .'> If you want to enable instance health check and load balancer health check at the same time, we recommend that you specify `HealthCheckTypes`.'."\n", - 'type' => 'string', + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], 'required' => false, - 'example' => 'ECS', + 'maxItems' => 100, ], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'LifecycleHook', '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****', - ], + 'schema' => ['description' => 'Specifies whether to trigger the lifecycle hook for scale-outs when you call this operation. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: The default template version is always used.'."\n" - .'* Latest: The latest template version is always used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], [ - 'name' => 'OnDemandBaseCapacity', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of pay-as-you-go instances that must be included in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', + 'name' => 'IgnoreInvalidInstance', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when a batch of instances is added to the scaling group. Valid values:'."\n" + ."\n" + .'* true: ignores invalid instances. If invalid instances exist and valid instances are added, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" + .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to add to the scaling group, an error is reported.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The expected percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1crxor24s28xf1****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', ], ], - [ - 'name' => 'SpotInstanceRemedy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to supplement preemptible instances. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message that the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'AttachInstances', + 'summary' => 'Adds instances to a scaling group to provide services or restarts Elastic Compute Service (ECS) instances stopped in Economical Mode to provide services. You can call the AttachInstances operation to add ECS instances, elastic container instances, or third-party instances managed by Alibaba Cloud to your scaling group to provide services. You can also call this operation to restart ECS instances stopped in Economical Mode in your scaling group to provide services.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AttachLoadBalancers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CompensateWithOnDemand', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as cost-related issues and insufficient resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125378', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'SpotInstancePools', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1avr6ensitts3w****'], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Auto Scaling maintains the expected number of ECS instances or elastic container instances in the scaling group. Make sure that you adhere to the following rule when specifying this parameter: Value of MaxSize ≥ Value of DesiredCapacity ≥ Value of MinSize'."\n" - ."\n" - .'> If you re-enable the Expected Number of Instances feature, you must specify a value for `DesiredCapacity` again.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'Specifies whether to add the existing instances in the scaling group as backend servers of the load balancer. Valid values:'."\n" + ."\n" + .'* true: If you set this parameter to `true`, the attachment of the load balancer entails the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If a load balancer is currently attached to your scaling group, and you only want to add the instances in your scaling group to the backend server groups of the load balancer, you can call this operation again and set ForceAttach request to true.'."\n" + ."\n" + .'* false: If you set this parameter to false, the attachment of the load balancer does not entail the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => '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 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' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'MultiAZPolicy', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are scaled based on the vSwitch priority. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - .'* COST_OPTIMIZED: During a scale-out activity, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price of vCPU. During a scale-in activity, Auto Scaling preferentially removes ECS instances of the instance types that have the highest unit price of vCPU. Auto Scaling preferentially creates preemptible instances when preemptible instance types are specified in the scaling configuration. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n" - ."\n" - .'> The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across zones that are specified in the scaling group. If ECS instances are unevenly distributed among zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances among the zones.'."\n" - .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', - ], + 'schema' => ['description' => 'Specifies whether to attach the CLB instance to the scaling group in an asynchronous manner. If you attach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true. Valid values:'."\n" + ."\n" + .'* true: attaches the CLB instance to the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" + .'* false: does not attach the CLB instance to the scaling group in an asynchronous manner.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'VSwitchIds', + 'name' => 'LoadBalancers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of vSwitches.'."\n" - ."\n" - .'This parameter takes effect only when the network type of the scaling group is virtual private cloud (VPC). The specified vSwitches and the scaling group must reside in the same VPC.'."\n" - ."\n" - .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", + 'description' => 'The IDs of the load balancers that you want to attach to the scaling group.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of vSwitches.'."\n" - ."\n" - .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches and the scaling group must reside in the same VPC.'."\n" - ."\n" - .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1oo2a7isyrb8igf****', - ], + 'items' => ['description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n" + ."\n" + .'> In each call, you can attach up to five load balancers to a scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs**** '."\n"], 'required' => false, - 'maxItems' => 8, + 'maxItems' => 5, ], ], [ - 'name' => 'LaunchTemplateOverrides', + 'name' => 'LoadBalancerConfigs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the instance types that are extended in the launch template.'."\n", + 'description' => 'The configurations of the classic load balancer (CLB, formerly known as SLB) instance.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" - ."\n" - .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" - ."\n" - .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" - ."\n" - .'You can use this parameter to specify any instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge '."\n", - ], - 'WeightedCapacity' => [ - 'description' => 'If you want to scale the scaling group based on the instance types, you must specify LaunchTemplateOverrides.InstanceType before you specify this parameter. The two parameters have a one-to-one correspondence.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of the specified instance type in the scaling group.'."\n" - ."\n" - .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Sample capacity configurations:'."\n" - ."\n" - .'* Current capacity: 0.'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" - ."\n" - .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of instance type N that is specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N instance types by using the Extend Launch Template feature. You can specify 1 to 10 memory sizes, indicated by N.'."\n" - ."\n" - .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5**** '], + 'Weight' => ['description' => 'The weight of an Elastic Compute Service (ECS) instance or elastic container instance as a backend sever of the CLB instance. If an instance has a higher weight, more access traffic is routed to the instance. If an instance has zero weight, no access traffic is routed to the instance.'."\n" + ."\n" + .'Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], 'required' => false, ], @@ -1717,254 +750,121 @@ 'maxItems' => 20, ], ], - [ - 'name' => 'MaxInstanceLifetime', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The maximum life span of the instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to Integer.maxValue. ``You can also set this parameter to 0. A value of 0 indicates that the instance has an unlimited life span in the scaling group.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This parameter is returned only if you set `Async` to `true`. You can call the DescribeScalingActivities operation to query the scaling activity IDs and status.'."\n", 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', ], ], - [ - 'name' => 'AzBalance', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + 'title' => 'AttachLoadBalancers', + 'summary' => 'Attaches load balancers to a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups. Load balancers help distribute the access traffic to the instances in scaling groups, which effectively improves the service performance of the scaling groups. You can call the AttachLoadBalancers operation to attach one or more load balancers to your scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AttachServerGroups' => [ + 'summary' => 'Attaches server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachServerGroups operation. By attaching Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AllocationStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances at the same time. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'priority', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166342', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'SpotAllocationStrategy', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lowestPrice', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CustomPolicyARN', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ARN of the custom scaling policy (Function). This parameter takes effect only when you specify CustomPolicy as the first step of the instance removal policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], ], [ - 'name' => 'DisableDesiredCapacity', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - ."\n" - .'* release: release mode'."\n" - ."\n" - .'* forcerelease: forced release mode'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you set the value to `forcerelease`, Auto Scaling forcibly releases instances that are in the `Running` state during scale-ins. Forced release is equivalent to power outage. If an instance is forcibly released, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" - ."\n" - .'* forcerecycle: forced recycle mode'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you set the value to `forcerecycle`, Auto Scaling forcibly shuts down instances that are in the `Running` state during scale-ins. Forced shutdown is equivalent to power outage. If an instance is forcibly shut down, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" - ."\n" - .'ScalingPolicy specifies only the reclaim mode of the scaling group. RemovePolicy of the RemoveInstances operation specifies the manner how instances are removed from the scaling group. For more information, see [RemoveInstances](~~25955~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'recycle', - ], + 'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances (ECI) in the scaling group to the server group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'HealthCheckTypes', + 'name' => 'ServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The health check mode of the scaling group.'."\n" - ."\n" - .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n", + 'description' => 'The information about the server groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The health check modes of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not check the health status of instances.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds. Valid values: 30 to 240.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only if you set ScalingPolicy to release.\\'."\n" - .' If you specify this parameter, the system proceeds with the scale-in process only after the period of time specified by StopInstanceTimeout ends. In this case, the scale-in operation continues regardless of whether the ECS instance enters the Stopped state or not.\\'."\n" - .' If you do not specify this parameter, the system proceeds with the scale-in process only after the ECS instance enters the Stopped state. If the ECS instance fails to enter the Stopped state, the scale-in process rolls back, and the scale-in operation is considered as failed.'."\n" - ."\n" - .'* When you call the ModifyScalingGroup operation, you can set the value to 0. In this case, the system ignores this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - [ - 'name' => 'CapacityOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The capacity options.'."\n", - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'description' => 'The percentage of additional pay-as-you-go instances beyond the minimum required by `OnDemandBaseCapacity` in the scaling group. Valid values: 0 to 100'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'SpotAutoReplaceOnDemand' => [ - 'description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this case, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" + 'description' => 'The information about the server group.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid Values:'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'PriceComparisonMode' => [ - 'description' => 'The price comparison mode. Valid values:'."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS or ECI instance as a backend server of the server group. Valid values: 0 to 100'."\n" ."\n" - .'* PricePerUnit: compares prices based on capacity.'."\n" + .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If the weight is 0, the ECS or ECI instance does not receive access requests.'."\n" ."\n" - .' The capacity of instances in a scaling group is determined by the weights of the instance types used. If no weight is specified, the default weight is 1, which specifies that each instance in the scaling group has a capacity of 1.'."\n" + .'> For ALB and NLB types, this parameter is required. GWLB type cannot be set.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port used by ECS or ECI instances after being added as backend servers to the server group.'."\n" ."\n" - .'* PricePerVCpu: compares prices based on the price per vCPU.'."\n" + .'Valid values: 1 to 65535.'."\n" ."\n" - .'Default value: PricePerUnit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PricePerUnit', + .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, - ], - ], - [ - 'name' => 'BalanceMode', - 'in' => 'query', - 'schema' => [ - 'title' => '平衡模式设置', - 'description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n" - ."\n" - .'* BalancedBestEffort: If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" - .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n" - ."\n" - .'Default value: BalancedBestEffort.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BalancedBestEffort', - ], - ], - [ - 'name' => 'AutoRebalance', - 'in' => 'query', - 'schema' => [ - 'title' => '自动重新平衡设置', - 'description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* false: Auto rebalancing is disabled for the scaling group.'."\n" - .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -1973,229 +873,110 @@ '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. During the scaling activity, the server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the server group.'."\n" + ."\n" + .'> This parameter is returned only if you set ForceAttach to true.'."\n", 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyScalingGroup', - 'description' => '* You cannot modify the following parameters by calling this operation:'."\n" - ."\n" - .' * RegionId'."\n" - .' * LoadBalancerId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to modify the load balancer settings of your scaling group, you can call the AttachLoadBalancers operation or the DetachLoadBalancers operation.'."\n" - ."\n" - .' * DBInstanceId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to modify the ApsaraDB RDS instance settings of your scaling group, you can call the AttachDBInstances operation or the DetachDBInstances operation.'."\n" - ."\n" - .'* You can call this operation to modify a scaling group only when the scaling group is in the `Active` or `Inactive` state.'."\n" - ."\n" - .'* Enabling a new scaling configuration in the scaling group will not impact existing Elastic Compute Service (ECS) instances or elastic container instances that were provisioned based on the previous scaling configuration. These instances will continue to run as expected.'."\n" - ."\n" - .'* If the modification of the MaxSize setting leads to the total number of ECS instances or elastic container instances in the scaling group exceeding the new maximum limit, Auto Scaling proactively removes the surplus instances to restore the total number to match the new maximum limit.'."\n" - ."\n" - .'* If the modification of the MinSize setting leads to the total number of ECS instances or elastic container instances in the scaling group exceeding the new minimum threshold, Auto Scaling proactively adds more instances to the scaling group to ensure that the total number aligns with the new minimum threshold.'."\n" - ."\n" - .'* If the modification of the DesiredCapacity setting leads to the total number of ECS instances or elastic container instances in the scaling group not matching the new desired capacity, Auto Scaling proactively adjusts the total number of instances to ensure that the total number aligns with the new desired capacity.'."\n", - ], - 'EnableScalingGroup' => [ - 'summary' => 'Enables a scaling group. If a scaling group is in the Disabled state and contains an instance configuration source such as a launch template or a scaling configuration, you can call the EnableScalingGroup operation to enable the scaling group. This operation permits Auto Scaling to dynamically adjust the computing power (also known as the number of instances) in the scaling group based on your business requirements.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'AttachServerGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'AttachVServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125366', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], + 'abilityTreeCode' => '125332', + 'abilityTreeNodes' => ['FEATUREess2GK585'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - ], - [ - 'name' => 'ActiveScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to enable in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], - ], - [ - 'name' => 'LaunchTemplateId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that is used by Auto Scaling to create ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], + 'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai. For information about regions and zones, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: The default template version is always used.'."\n" - .'* Latest: The latest template version is always used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'InstanceIds', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ECS instances that you want to add to the scaling group after the scaling group is enabled.'."\n" - ."\n" - .'Before you add ECS instances to the scaling group, make sure that the instances meet the following requirements:'."\n" - ."\n" - .'* The instances must reside in the same region as the scaling group.'."\n" - .'* The instances must be in the Running state.'."\n" - .'* The instances do not belong to another scaling group.'."\n" - .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" - .'* If you specify VswitchID for the scaling group, the instances must share the same VPC as the scaling group.'."\n" - .'* If you do not specify VswitchID for the scaling group, the instances must use the classic network.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance that you want to add to the scaling group after the scaling group is enabled.'."\n" - ."\n" - .'Before you add an ECS instance to the scaling group, make sure that the instance meets the following requirements:'."\n" - ."\n" - .'* The instance must reside in the same region as the specified scaling group.'."\n" - .'* The instance must be in the Running state.'."\n" - .'* The instance does not belong to another scaling group.'."\n" - .'* The instance is billed on a subscription or pay-as-you-go basis, or the instance is a preemptible instance.'."\n" - .'* If you specify VswitchID for the scaling group, the instance must share the same VPC as the scaling group.'."\n" - .'* If you do not specify VswitchID for the scaling group, the instance must use the classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-283vv**** '."\n", - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'LoadBalancerWeights', + 'name' => 'ForceAttach', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The weights of ECS instances or elastic container instances as backend servers.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of an ECS instance or elastic container instance as a backend server.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new vServer group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'LaunchTemplateOverrides', + 'name' => 'VServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the instance types that you want to extend in the launch template.'."\n", + 'description' => 'The information about the vServer groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.'."\n", + 'description' => 'Details of the vServer groups.'."\n", 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify `LaunchTemplateOverrides.WeightedCapacity` after you specify this parameter.'."\n" - ."\n" - .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" - ."\n" - .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" - ."\n" - .'You can use this parameter to specify any instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" - ."\n" - .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****'], + 'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'Port' => ['description' => 'The port number over which Auto Scaling adds ECS instances or elastic container instances to the new vServer group. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '4', + 'maxItems' => 100, ], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge**** '."\n"], ], 'required' => false, ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'required' => true, + 'maxItems' => 100, ], ], ], @@ -2204,96 +985,33 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'EnableScalingGroup', - 'description' => '* You can call this operation to enable a scaling group only if the scaling group is in the Inactive state and contains an instance configuration source such as a launch temple or a scaling configuration. The instance configuration source can also be the Elastic Compute Service (ECS) instance that you specified when you created the scaling group. If the preceding requirements are not met, the operation will fail.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** 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 the scaling group already have an instance configuration source defined prior to your calling, the scaling configuration or launch template specified within your request will supersede the existing scaling configuration or launch template.'."\n" - ."\n" - .'* If you specify InstanceId.N to add to the scaling group within your request, Auto Scaling will check whether the addition of InstanceId.N will cause the total number of ECS instances in the scaling group to fall outside the boundaries specified by MinSize and MaxSize after you call this operation.'."\n" - ."\n" - .' * If the call results in the total number of ECS instances dropping below the value of MinSize, Auto Scaling proactively creates pay-as-you-go ECS instances to ensure that the total number reaches the minimum threshold. For example, if you set MinSize to 5 when you created a scaling group and include InstanceId.N within your request to add two ECS instances when you attempt to enable the scaling group, Auto Scaling creates three more ECS instances in the scaling group after the two ECS instances are added.'."\n" - .' * If the call results in the total number of ECS instances exceeding the value of MaxSize, the operation fails.'."\n", - ], - 'DisableScalingGroup' => [ - 'summary' => 'Disables a scaling group. If you temporarily do not require a scaling group that is in the Enabled state, you can call the DisableScalingGroup operation to disable it.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125389', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'title' => 'AttachVServerGroups', + 'summary' => 'Attaches vServer groups to a scaling group. After a Classic Load Balancer (CLB) instance is attached to your scaling group, the instances in the scaling group are automatically added as backend servers of the CLB instance. These servers then handle requests forwarded by the CLB instance, streamlining the processing of incoming traffic. To direct varying access requests to separate backend servers or to distribute requests based on domain names or URLs, you can call the AttachVServerGroups operation. This operation enables the addition of multiple vServer groups, allowing for efficient management of various backend server configurations tailored to your routing preferences.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DisableScalingGroup', - 'description' => 'Before you call this operation to 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", ], - 'SetGroupDeletionProtection' => [ - 'summary' => 'Sets deletion protection for a scaling group. If you enable deletion protection for a scaling group, you cannot delete the scaling group. If you disable deletion protection for a scaling group, you can directly delete the scaling group. You can call the SetGroupDeletionProtection operation to enable or disable deletion protection.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CancelInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2301,46 +1019,24 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125350', - 'abilityTreeNodes' => [ - 'FEATUREessF87COY', - ], + 'abilityTreeCode' => '234868', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ - 'name' => 'GroupDeletionProtection', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection. In this case, you cannot delete the scaling group by using the Auto Scaling console or calling an API operation. You must disable deletion protection before you can delete the scaling group.'."\n" - .'* false: disables deletion protection.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - '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.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-aca123sf****'], ], ], 'responses' => [ @@ -2348,81 +1044,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\"\\n}","type":"json"}]', - 'title' => 'SetGroupDeletionProtection', - ], - 'DeleteScalingGroup' => [ - 'summary' => 'Deletes a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can create scaling groups to manage your computing power with ease. The computing power refers to the instances that provide the computing capability. If you no longer require a scaling group, you can call the DeleteScalingGroup operation to delete it to free up the scaling group quota.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CancelInstanceRefresh', + 'summary' => 'Cancels an instance refresh task. Take note that instances whose configurations were already updated by running an instance refresh task remain intact even after you cancel the task.', + 'description' => '* You cannot call this operation to cancel instance refresh tasks that are being rolled back.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ChangeResourceGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125373', - 'abilityTreeNodes' => [ - 'FEATUREess909XOL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '163908', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], '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, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ForceDelete', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enforce the deletion of the scaling group, including the removal of the current ECS instances or elastic container instances from the scaling group and their subsequent release, even if the scaling group is actively undergoing scaling activities. Valid values:'."\n" - ."\n" - .'* true: enforces the deletion of the scaling group. In this case, the scaling group first enters the Disabled state, ceasing acceptance of new scaling requests. Auto Scaling awaits the conclusion of all ongoing scaling activities in the scaling group before it automatically removes the current ECS instances or elastic container instances from the scaling group and enforces the deletion operation. Note that manually added instances are merely removed from the scaling group, whereas auto-provisioned instances are removed and deleted.'."\n" - ."\n" - .'* false: does not enforce the deletion of the scaling group. The scaling group will be disabled and then deleted once all the following requirements are satisfied:'."\n" - ."\n" - .' * The scaling group has no ongoing scaling activities.'."\n" - .' * The scaling group contains no ECS instances or elastic container instances (Total Capacity=0).'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup'], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the scaling group that you want to move from the current resource group to another resource group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp17xb4x1vr29lgt****'], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which you want to move the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'rg-aek2ckjqe3*****'], ], ], 'responses' => [ @@ -2430,2038 +1109,468 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteScalingGroup', - 'description' => 'Before you call the DeleteScalingGroup operation, take note of the following items:'."\n" - ."\n" - .'* If you delete a scaling group, the scaling configurations, scaling rules, scaling activities, and scaling requests related to the scaling group are also deleted.'."\n" - ."\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 that are attached to the scaling group are also not deleted.'."\n" - ."\n" - .'* If the scaling group that you want to delete contains ECS instances or elastic container instances that are in the In Service state, Auto Scaling stops the instances and then removes all manually added instances from the scaling group or releases all automatically created instances in the scaling group before the scaling group is deleted.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** Before you delete a scaling group, make sure that the Deletion Protection feature is disabled. If you have enabled the Deletion Protection feature for a scaling group, disable the feature on the Modify Scaling Group page before you delete the scaling group.'."\n" - ."\n" - .'* If you do not disable the Deletion Protection feature for a scaling group, you cannot delete the scaling group by using the Auto Scaling console or calling this operation. The Deletion Protection feature is an effective measure to safeguard scaling groups against unintended deletion.'."\n" - ."\n" - .'* Prior to deleting a scaling group, make sure that your ECS instances within the scaling group are safeguarded against unintended release. Even if you have already enabled the Release Protection feature for the ECS instances, you must manually put these ECS instances into the Protected state. Doing so guarantees that the ECS instances will not be forcibly released during the deletion process of the scaling group, providing an extra layer of security.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** Before you delete a scaling group, we recommend that you enable the Deletion Protection feature for ECS instances that you want to retain. This action guarantees that the ECS instances are not forcibly released after you delete the scaling group. For more information, see [SetInstancesProtection](~~459342~~).'."\n", - ], - 'DescribeScalingGroups' => [ - 'summary' => 'Queries information about scaling groups, such as the basic information, instances, and scaling configurations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'ChangeResourceGroup', + 'summary' => 'Changes a resource group. Resource groups are a means to categorize and manage cloud resources, such as scaling groups, based on specific objectives, permissions, or ownership. In large, multifaceted organizations that manage numerous projects and users, this feature adopts a tiered management approach, simplifying management tasks and improving the effectiveness and oversight of resource allocation. You can call the ChangeResourceGroup operation to move your scaling groups from one resource group to another resource group, which facilitates streamlined monitoring and management within the context of the new group. This operation eliminates the need for repetitive and time-consuming cross-service resource queries, thereby enhancing operational efficiency.', + 'description' => '* A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" + .'* A resource group serves as a powerful organizational tool within your Alibaba Cloud account, enabling you to manage and monitor multiple resources collectively. It effectively addresses complexities surrounding resource categorization and permission control under a single Alibaba Cloud account, thereby enhancing management efficiency and control. For more information, see [What is resource management?](~~94475~~)'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CompleteLifecycleAction' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125357', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125379', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Page starts from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - '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' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'GroupType', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of instances that are managed by the scaling group. Valid values:'."\n" - ."\n" - .'* ECS: Elastic Compute Service (ECS) instances.'."\n" - .'* ECI: elastic container instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp14g3ee6bt3sc98****'], ], [ - 'name' => 'ScalingGroupIds', + 'name' => 'LifecycleActionToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n" - ."\n" - .'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the scaling group that you want to query.'."\n" - ."\n" - .'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The token of the lifecycle action. You can obtain the token from the Simple Message Queue (SMQ, formerly MNS) queue or topic that is specified for the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'aaaa-bbbbb-cccc-ddddd'], ], [ - 'name' => 'ScalingGroupNames', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scaling groups that you want to query.'."\n" - ."\n" - .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the scaling group that you want to query.'."\n" - ."\n" - .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup**** '."\n", - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ScalingGroupName', + 'name' => 'LifecycleActionResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" + .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" + ."\n" + .'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n" + ."\n" + .'If multiple lifecycle hooks exist in a scaling group and the lifecycle hooks are triggered at the same time, the following rules apply:'."\n" + ."\n" + .'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to ABANDON or ROLLBACK time out, other lifecycle hooks time out ahead of schedule.'."\n" + .'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to CONTINUE, Auto Scaling performs the next action only after the last lifecycle hook times out. The action that Auto Scaling performs varies based on the value that you specify for the LifecycleActionResult parameter of the lifecycle hook that last times out.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n" - ."\n" - .'> If no scaling group belongs to the specified resource group, the query result is empty and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-123******', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'Tags', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Department', - ], - 'Value' => [ - 'description' => 'The tag value of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Finance '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Details about the scaling group list.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroups' => [ - 'description' => 'The scaling groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) in which the scaling group resides.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], - 'CreationTime' => [ - 'description' => 'The time when the scaling group was created.'."\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 in the scaling group. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price across the zones of the scaling group. Valid values: 0 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that was 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 excess when the minimum number of pay-as-you-go instances reaches the threshold. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ModificationTime' => [ - 'description' => 'The time when the scaling group was last modified.'."\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 Auto Scaling can create pay-as-you-go instances to supplement preemptible instances if preemptible instances cannot be created due to price-related factors or insufficient inventory when MultiAZPolicy is set to COST_OPTIMIZED. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingPolicy' => [ - 'description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode.'."\n" - .'* release: release mode.'."\n" - .'* forcerelease: forced release mode.'."\n" - ."\n" - .'For more information, see [RemoveInstances](~~25955~~).'."\n", - 'type' => 'string', - 'example' => 'recycle', - ], - '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 is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\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 checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling group is active. Active scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" - .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" - .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'GroupDeletionProtection' => [ - 'description' => 'Indicates whether the Deletion Protection feature is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* true: The Deletion Protection feature is enabled for the scaling group. The scaling group cannot be deleted.'."\n" - .'* false: The Deletion Protection feature is disabled for the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ActiveScalingConfigurationId' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1et2qekq3ojr33****', - ], - 'GroupType' => [ - 'description' => 'The type of instances that are managed by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'MultiAZPolicy' => [ - 'description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances if preemptible instances cannot be created due to limited stock.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only if your scaling configuration contains multiple instance types or contains preemptible instance types.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances become unevenly distributed across the specified zones due to limited instance type availability, you can call the RebalanceInstance operation to balance the distribution of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'PRIORITY', - ], - '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 that are in the Pending Add state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StandbyCapacity' => [ - 'description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CurrentHostName' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'string', - 'example' => 'hostname', - ], - 'PendingCapacity' => [ - 'description' => 'The number of ECS instances that are being added to the scaling group and 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 Weighted is specified. In other cases, this parameter specifies the total number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SpotInstanceRemedy' => [ - 'description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling proactively creates instances to replace the preemptible instances for reclamation when Auto Scaling receives a system notification.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - '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 vSwitch ID of 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 does not execute the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'VServerGroups' => [ - 'description' => 'The backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The backend vServer group.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the load balancer to which the backend vServer group belongs.'."\n", - 'type' => 'string', - 'example' => '147b46d767c-cn-qingdao-cm5****', - ], - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The attributes of the backend vServer group.'."\n", - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-bp12bjrny****', - ], - '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 load balancer to provide external services.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22', - ], - ], - ], - ], - ], - ], - ], - 'LaunchTemplateOverrides' => [ - 'description' => 'The instance types that are extended in the launch template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type that is extended in the launch template.'."\n", - 'type' => 'object', - 'properties' => [ - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The value of this parameter indicates the capacity of a single instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'InstanceType' => [ - 'description' => 'The instance type. The instance type that is specified by this parameter overrides the instance type that is specified in the launch template.'."\n", - 'type' => 'string', - 'example' => 'ecs.c5.xlarge', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" - ."\n" - .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - ], - ], - ], - 'AlbServerGroups' => [ - 'description' => 'The Application Load Balancer (ALB) server groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ALB server group.'."\n", - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'ServerGroups' => [ - 'description' => 'The information about the server groups.'."\n" - ."\n" - .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The server group information.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-i9ouakeaerr*****', - ], - 'Type' => [ - 'description' => 'The type of the server group. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - .'* GWLB'."\n", - 'type' => 'string', - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by each ECS instance in the server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'RemovalPolicies' => [ - 'description' => 'The instance removal policies. Valid values:'."\n" - ."\n" - .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance removal policy. Valid values:'."\n" - ."\n" - .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'OldestScalingConfiguration', - ], - ], - 'DBInstanceIds' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that are attached to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ApsaraDB RDS instance that is attached to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'rm-bp15556qzebg1****', - ], - ], - 'LoadBalancerIds' => [ - 'description' => 'The IDs of the load balancers that are attached to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the load balancer that is attached to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'lb-bp19byhscefk3x0li****', - ], - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - ], - 'SuspendedProcesses' => [ - 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'* ScaleIn: scale-in processes.'."\n" - .'* ScaleOut: scale-out processes.'."\n" - .'* HealthCheck: health check processes.'."\n" - .'* AlarmNotification: event-triggered task processes.'."\n" - .'* ScheduledAction: scheduled task processes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'* ScaleIn: scale-in processes.'."\n" - .'* ScaleOut: scale-out processes.'."\n" - .'* HealthCheck: health check processes.'."\n" - .'* AlarmNotification: event-triggered task processes.'."\n" - .'* ScheduledAction: scheduled task processes.'."\n", - 'type' => 'string', - 'example' => 'ScaleIn', - ], - ], - 'SystemSuspended' => [ - 'description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" - ."\n" - .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. In this case, you must modify the scaling group or scaling configuration to resume the scaling activities.'."\n" - .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'IsElasticStrengthInAlarm' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'MonitorGroupId' => [ - 'description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => '1497****', - ], - 'AzBalance' => [ - 'description' => 'Indicates whether instances in the scaling group are evenly distributed across the specified zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AllocationStrategy' => [ - 'description' => 'The instance allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. The policy is suitable for pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of instances.'."\n", - 'type' => 'string', - 'example' => 'priority', - ], - 'SpotAllocationStrategy' => [ - 'description' => 'The allocation policy of preemptible instances. This parameter indicates the manner in which Auto Scaling selects instance types to create the required number of preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'example' => 'lowestPrice', - ], - 'MaxInstanceLifetime' => [ - 'description' => 'The maximum life span of each ECS instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 for MaxInstanceLifetime indicates that a previously set limit has been removed. This effectively disables the maximum instance lifetime constraint.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'CustomPolicyARN' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", - 'type' => 'string', - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], - 'InitCapacity' => [ - 'description' => 'The number of instances that are initialized before they are added into the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the scaling group belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-123****', - ], - 'LoadBalancerConfigs' => [ - 'description' => 'The load balancer configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The load balancer configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-2zep8alpq5zq1a2xwyxxx', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the CLB server group. An increase in the weight of an ECS instance indicates an increase in the number of access requests that are forwarded to the ECS instance. If you set the weight of an ECS instance to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - 'EnableDesiredCapacity' => [ - 'description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Tags' => [ - 'description' => 'The tags of the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Department', - ], - 'TagValue' => [ - 'description' => 'The tag value of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Finance', - ], - 'Propagate' => [ - 'description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" - ."\n" - .'* true: The tags of the scaling group can be propagated only to new instances.'."\n" - .'* false: The tags of the scaling group cannot be propagated to instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'HealthCheckTypes' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The health check modes of the scaling group. Valid values: 0 to 1024.'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - ], - 'DBInstances' => [ - 'description' => 'The databases that are attached to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The database that is attached to the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'description' => 'The ID of the database.'."\n", - 'type' => 'string', - 'example' => 'rm-m5eqju85s45mu0***'."\n", - ], - 'Type' => [ - 'description' => 'The type of the database. Valid values:'."\n" - ."\n" - .'* RDS.'."\n" - .'* Redis.'."\n" - .'* MongoDB.'."\n", - 'type' => 'string', - 'example' => 'RDS', - ], - 'SecurityGroupIds' => [ - 'description' => 'The IDs of the security groups that are added to the security group whitelist of the attached database.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group that is added to the security group whitelist of the attached database.'."\n" - ."\n" - .'If you set `RemoveSecurityGroup` in the DetachDBInstances operation to `true`, the security groups specified by this parameter are removed from the security group whitelist of the attached database.'."\n", - 'type' => 'string', - 'example' => 'sg-uf65zt66cf2a0q47***', - ], - ], - ], - ], - ], - 'SpotCapacity' => [ - 'description' => 'The number of preemptible instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'StopInstanceTimeout' => [ - 'description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'CapacityOptions' => [ - 'description' => 'The capacity options.'."\n", - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the actual number of pay-as-you-go instances drops below the minimum threshold, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SpotAutoReplaceOnDemand' => [ - 'description' => 'Specifies whether to replace pay-as-you-go ECS instances with preemptible ECS instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible ECS instances to replace the surplus pay-as-you-go ECS instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go ECS instances if there are not enough preemptible instance types available. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'PriceComparisonMode' => [ - 'description' => 'Indicates how prices are compared. Valid values:'."\n" - ."\n" - .'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n" - ."\n" - .' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n" - ."\n" - .'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n", - 'type' => 'string', - 'example' => 'PricePerUnit', - ], - ], - ], - 'BalanceMode' => [ - 'title' => '负载均衡模式', - 'description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid value:'."\n" - ."\n" - .'* Default value: BalancedBestEffort. If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" - .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n", - 'type' => 'string', - 'example' => 'BalancedBestEffort', - ], - 'AutoRebalance' => [ - 'title' => '自动平衡伸缩组', - 'description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid value:'."\n" - ."\n" - .'* false: Auto rebalancing is disabled for the scaling group.'."\n" - .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 1,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-123****\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zep8alpq5zq1a2xwyxxx\\",\\n \\"Weight\\": 10\\n }\\n ],\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ],\\n \\"DBInstances\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\\\n\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\n ],\\n \\"SpotCapacity\\": 0,\\n \\"StopInstanceTimeout\\": 60,\\n \\"CapacityOptions\\": {\\n \\"OnDemandBaseCapacity\\": 0,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 0,\\n \\"CompensateWithOnDemand\\": true,\\n \\"SpotAutoReplaceOnDemand\\": false,\\n \\"PriceComparisonMode\\": \\"PricePerUnit\\"\\n },\\n \\"BalanceMode\\": \\"BalancedBestEffort\\",\\n \\"AutoRebalance\\": false\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingGroups', - ], - 'DescribeScalingGroupDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'CompleteLifecycleAction', + 'summary' => 'Ends the timeout period of a lifecycle hook ahead of schedule. If you have created a lifecycle hook for your scaling group, you can call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule based on your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CompleteLifecycleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]', + ], + 'CreateAlarm' => [ + 'summary' => 'Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '212843', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125363', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'Name', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestAlarmTask', 'title' => ''], ], [ - 'name' => 'OutputFormat', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The output format. Set the value to yaml.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yaml', - ], + 'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingGroup' => [ - 'description' => 'The scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The virtual private cloud (VPC) ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'vpc-wz9fcq97y1vqkd8bijcq6', - ], - 'CreationTime' => [ - 'description' => 'The time when the scaling group was created.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z'."\n", - ], - 'TotalInstanceCount' => [ - 'description' => 'The total number of Elastic Compute Service (ECS) instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupName' => [ - 'description' => 'The name of the scaling group. The name of each scaling group must be unique in a region.'."\n" - ."\n" - .'The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n", - 'type' => 'string', - 'example' => 'dyrSuvBOtO1dEdIlIbp****'."\n", - ], - 'SpotInstancePools' => [ - 'description' => 'The number of instance types that are specified. Preemptible instances of multiple lowest-priced instance types are evenly distributed across the zones of the scaling group. Valid values: 0 to 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that are 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 among the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ModificationTime' => [ - 'description' => 'The time when the scaling group was modified.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z'."\n", - ], - '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****'."\n", - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingPolicy' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - .'* forcerelease: forced release mode'."\n" - .'* forcerecycle: forced recycle mode'."\n" - ."\n" - .'For more information, see [RemoveInstances](~~25955~~).'."\n", - 'type' => 'string', - 'example' => 'recycle', - ], - '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", - '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 checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling group is in the Enabled state. Enabled scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" - .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" - .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'GroupDeletionProtection' => [ - 'description' => 'Indicates whether Deletion Protection is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* true: Deletion Protection is enabled for the scaling group. This way, the scaling group cannot be deleted.'."\n" - .'* false: Deletion Protection is disabled for the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ActiveScalingConfigurationId' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1et2qekq3ojr33****'."\n", - ], - 'GroupType' => [ - 'description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" - ."\n" - .'* ECS: ECS instances'."\n" - .'* ECI: elastic container instances'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'MultiAZPolicy' => [ - 'description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances that use the lowest-priced vCPUs. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances in the case that preemptible instances cannot be created due to insufficient inventory of preemptible instance types.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only if you specified multiple instance types or preemptible instance types in your scaling configuration.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across the zones of the scaling group. If ECS instance are unevenly distributed across the specified zones due to insufficient inventory of instance types, you can call the RebalanceInstance operation to rebalance the distribution of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'PRIORITY', - ], - '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 that are in the Pending Add state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'StandbyCapacity' => [ - 'description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CurrentHostName' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'hostname', - ], - 'PendingCapacity' => [ - 'description' => 'The number of ECS instances that are being added to the scaling group and 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****'."\n", - ], - 'TotalCapacity' => [ - 'description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, the value of this parameter indicates the total number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SpotInstanceRemedy' => [ - 'description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message which indicates that the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'RegionId' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", - ], - '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. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'VServerGroups' => [ - 'description' => 'The backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instance to which the backend vServer group belongs.'."\n", - 'type' => 'string', - 'example' => '147b46d767c-cn-qingdao-cm5****'."\n", - ], - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the backend vServer group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-bp12bjrny****'."\n", - ], - 'Weight' => [ - 'description' => 'The weight of the backend vServer group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Port' => [ - 'description' => 'The port number of a backend vServer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - ], - ], - ], - 'LaunchTemplateOverrides' => [ - 'description' => 'The information about the instance types that are extended in the launch template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'InstanceType' => [ - 'description' => 'The instance type. The instance type that is specified by using this parameter overwrites the instance type of the launch template.'."\n", - 'type' => 'string', - 'example' => 'ecs.c5.xlarge'."\n", - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" - ."\n" - .'> This parameter takes effect only if you specify `LaunchTemplateId`.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - ], - ], - ], - 'AlbServerGroups' => [ - 'description' => 'The information about the Application Load Balancer (ALB) server groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the Application Load Balancer (ALB) server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-ddwb0y0g6y9bjm****'."\n", - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'ServerGroups' => [ - 'description' => 'The information about the server groups.'."\n" - ."\n" - .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The server groups.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-i9ouakeaerr*****'."\n", - ], - 'Type' => [ - 'description' => 'The type of the server group. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - .'* GWLB'."\n", - 'type' => 'string', - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance as a backend server in the server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'RemovalPolicies' => [ - 'description' => 'The instance removal policies.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance removal policy. Valid values:'."\n" - ."\n" - .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created based on the earliest scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'OldestScalingConfiguration', - ], - ], - 'DBInstanceIds' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that are associated with the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ApsaraDB RDS instance that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => 'rm-bp15556qzebg1****'."\n", - ], - ], - 'LoadBalancerIds' => [ - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the SLB instance that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => 'lb-bp19byhscefk3x0li****'."\n", - ], - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", - ], - ], - 'SuspendedProcesses' => [ - 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'* ScaleIn: scale-in'."\n" - .'* ScaleOut: scale-out'."\n" - .'* HealthCheck: health check'."\n" - .'* AlarmNotification: event-triggered task'."\n" - .'* ScheduledAction: scheduled task'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'* ScaleIn: scale-in'."\n" - .'* ScaleOut: scale-out'."\n" - .'* HealthCheck: health check'."\n" - .'* AlarmNotification: event-triggered task'."\n" - .'* ScheduledAction: scheduled task'."\n", - 'type' => 'string', - 'example' => 'ScaleIn', - ], - ], - 'SystemSuspended' => [ - 'description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" - ."\n" - .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. You must modify the scaling group or scaling configuration to resume the execution of the scaling activities.'."\n" - .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'IsElasticStrengthInAlarm' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'MonitorGroupId' => [ - 'description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => '1497****'."\n", - ], - 'AzBalance' => [ - 'description' => 'Indicates whether instances in the scaling group are evenly distributed across zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AllocationStrategy' => [ - 'description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n", - 'type' => 'string', - 'example' => 'priority', - ], - 'SpotAllocationStrategy' => [ - 'description' => 'The allocation policy of preemptible instances. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n", - 'type' => 'string', - 'example' => 'lowestPrice', - ], - 'MaxInstanceLifetime' => [ - 'description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 0 or from 86400 to `Integer.maxValue`. A value of 0 for MaxInstanceLifetime indicates that any previously set limit has been removed, which effectively disables the maximum instance lifetime constraint.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'CustomPolicyARN' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", - 'type' => 'string', - 'example' => 'null', - ], - 'InitCapacity' => [ - 'description' => 'The number of instances that are in the Initialized state and not added to the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the scaling group belongs.'."\n" - ."\n" - .'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-aek2epf32c4uyji', - ], - 'LoadBalancerConfigs' => [ - 'description' => 'The CLB configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-2zein3ytoeq49cmkbyxr0', - ], - 'Weight' => [ - 'description' => 'The weight of a backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], - ], - 'EnableDesiredCapacity' => [ - 'description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Tags' => [ - 'description' => 'The tags of the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Department', - ], - 'TagValue' => [ - 'description' => 'The tag value of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Finance', - ], - 'Propagate' => [ - 'description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" - ."\n" - .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" - .'* false: The tags of the scaling group cannot be propagated to any instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'HealthCheckTypes' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The health check modes of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks.'."\n" - .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" - .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - ], - ], - ], - 'Output' => [ - 'description' => 'The output details of the scaling group of the Elastic Container Instance type. Currently, the output is displayed in a Kubernetes Deployment YAML file.'."\n", - 'type' => 'string', - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroup\\": {\\n \\"VpcId\\": \\"vpc-wz9fcq97y1vqkd8bijcq6\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\\\n\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\\\n\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\\\n\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 0,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\\\n\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\\\n\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\\\n\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\\\n\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 80\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\\\n\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\\\n\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\\\n\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\\\n\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\\\n\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\\\n\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\\\n\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"null\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aek2epf32c4uyji\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zein3ytoeq49cmkbyxr0\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"EnableDesiredCapacity\\": true,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]', - 'title' => 'DescribeScalingGroupDetail', - 'summary' => 'Queries a scaling group. You can call the DescribeScalingGroupDetail operation to query the basic information, instances, and scaling configurations of a scaling group. If you set OutputFormat to YAML for a scaling group of the Elastic Container Instance type, the output is a Kubernetes Deployment file in the YAML format.', - ], - 'DescribeScalingInstances' => [ - 'summary' => 'Queries instances in a scaling group. You can call the DescribeScalingInstances operation to query instance details, such as the number of preemptible instances in the Running state, the number of Elastic Compute Service (ECS) instances, the warm-up status of ECS instances, and the lifecycle status of ECS instances in a scaling group. You can specify the scaling group whose instances you want to query by scaling group ID. If you want to filter instances based on conditions, such as the instance health status, lifecycle status, or creation method, you can also call this operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125341', - 'abilityTreeNodes' => [ - 'FEATUREessPMOEEX', + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The scaling group ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The metric name. The valid values of this parameter vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * ConcurrentConnections: the number of concurrent connections.'."\n" + .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadAverage: the average system load.'."\n" + .' * TcpConnection: the total number of TCP connections.'."\n" + .' * TcpConnection: the number of established TCP connections.'."\n" + .' * PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'default' => 'system', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationId', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', - ], + 'schema' => ['description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'default' => '300', 'title' => ''], ], [ - 'name' => 'HealthStatus', + 'name' => 'Statistics', 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If an ECS instance is not in the Running state, the instance is considered unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases the 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 lifecycles of the instances. 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 your Alibaba Cloud account has an overdue payment, all pay-as-you-go ECS instances, including preemptible instances, may be stopped or even released. For information about how the status of ECS instances changes when you have an overdue payment in your Alibaba Cloud account, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Healthy', - ], + 'schema' => ['description' => 'The statistical method of the metric data. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of the metric data.'."\n" + .'* Minimum: calculates the minimum value of the metric data.'."\n" + .'* Maximum: calculates the maximum value of the metric data.'."\n" + ."\n" + .'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'default' => 'Average', 'title' => ''], ], [ - 'name' => 'LifecycleState', + 'name' => 'Threshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The lifecycle status 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. When an ECS instance is being added to the scaling group, Auto Scaling also adds the instance to the backend server groups of the attached load balancers and adds the private IP address of the instance to the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a scale-out lifecycle hook is in effect, the ECS instance remains in the Pending:Wait state until the timeout period for the lifecycle hook expires.'."\n" - .'* Protected: The ECS instance is protected. Protected ECS instances can continue to provide services as expected, but Auto Scaling does not manage the lifecycles of the ECS instances. You must manually manage the lifecycles of the ECS instances.'."\n" - .'* Standby: The ECS instance is on standby. Standby ECS instances do not provide services as expected, and the weights of the ECS instances as backend servers are reset to zero. Auto Scaling does not manage the lifecycles of the ECS instances. Therefore, you must manually manage the lifecycles of the ECS instances.'."\n" - .'* Stopped: The ECS instance is stopped. Stopped ECS instances no longer provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. When an ECS instance is being removed from the scaling group, Auto Scaling also removes the instance from the backend server groups of the attached load balancers and removes the private IP address of the instance from the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a scale-in lifecycle hook is in effect, the ECS instance remains in the Removing:Wait state until the timeout period for the lifecycle hook expires.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InService', - ], + 'schema' => ['description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80.0', 'title' => ''], ], [ - 'name' => 'CreationType', + 'name' => 'ComparisonOperator', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance creation method. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instances are created by Auto Scaling based on the instance configuration source.'."\n" - .'* Attached: The ECS instances are manually added to the scaling group.'."\n" - .'* Managed: The Alibaba Cloud-managed third-party instances are manually added to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AutoCreated', - ], + 'schema' => ['description' => 'The operator that you want to use to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" + .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" + .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" + .'* If the metric value is less than the metric threshold, set the value to <.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'default' => '>=', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'EvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before the scaling rule is executed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '3', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 100.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], [ - 'name' => 'ScalingActivityId', + 'name' => 'Effective', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task. By default, the event-triggered task is in effect all the time.'."\n" + ."\n" + .'This parameter follows the cron expression format. The default format is `X X X X X ?`. In the format:'."\n" + ."\n" + .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + .'* ?: No value is specified.'."\n" + ."\n" + .'> By default, this parameter value is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" + ."\n" + .'Sample values:'."\n" + ."\n" + .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" + .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" + .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'AlarmActions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n" - ."\n" - .'The IDs of inactive instances are not displayed in the query result, and no errors are returned.'."\n", + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance.'."\n" - ."\n" - .'The IDs of inactive instances are not displayed in the query result, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], + 'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, - 'maxItems' => 200, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CreationTypes', + 'name' => 'Dimensions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The instance creation methods. If you specify this parameter, you cannot specify CreationType.'."\n", + 'description' => 'The metric dimensions.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The instance creation method. You can set the value to AutoCreated, Attached, or Managed.'."\n", - 'type' => 'string', + 'description' => 'The metric dimensions.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that you want to monitor by using the event-triggered task.'."\n" + .' * device: the NIC type.'."\n" + .' * state: the status of the TCP connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: The system specifies the value.'."\n" + ."\n" + .' * scaling_group: The system specifies the value.'."\n" + ."\n" + .' * device: You can set this parameter to eth0 or eth1.'."\n" + ."\n" + .' * For instances of the classic network type, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * For instances of the classic network type, eth1 specifies the public NIC.'."\n" + ."\n" + .' * state: You can set this parameter to TCP_TOTAL or ESTABLISHED.'."\n" + ."\n" + .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" + .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], + ], 'required' => false, - 'example' => 'AutoCreated', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LifecycleStates', + 'name' => 'Expressions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The lifecycle status of the ECS instances in the scaling group. You can specify only one of LifecycleStates and LifecycleState at a time. We recommend that you specify this parameter.'."\n", + 'description' => 'The information about the multi-metric alert rules.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The lifecycle status 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. When an ECS instance is being added to the scaling group, Auto Scaling also adds the instance to the backend server groups of the attached load balancers and adds the private IP address of the instance to the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a scale-out lifecycle hook is in effect, the ECS instance remains in the Pending:Wait state until the timeout period for the lifecycle hook expires.'."\n" - .'* Protected: The ECS instance is protected. Protected ECS instances can continue to provide services as expected, but Auto Scaling does not manage the lifecycles of the ECS instances. You must manually manage the lifecycles of the ECS instances.'."\n" - .'* Standby: The ECS instance is on standby. Standby ECS instances do not provide services as expected, and the weights of the ECS instances as backend servers are reset to zero. Auto Scaling does not manage the lifecycles of the ECS instances. Therefore, you must manually manage the lifecycles of the ECS instances.'."\n" - .'* Stopped: The ECS instance is stopped. Stopped ECS instances no longer provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. When an ECS instance is being removed from the scaling group, Auto Scaling also removes the instance from the backend server groups of the attached load balancers and removes the private IP address of the instance from the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a scale-in lifecycle hook is in effect, the ECS instance remains in the Removing:Wait state until the timeout period for the lifecycle hook expires.'."\n", - 'type' => 'string', + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * ConcurrentConnections: the number of concurrent connections.'."\n" + .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadAverage: the average system load.'."\n" + .' * TcpConnection: the total number of TCP connections.'."\n" + .' * TcpConnection: the number of established TCP connections.'."\n" + .' * PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The operator that you want to use to compare the metric value and the threshold in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" + .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" + .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" + .'* If the metric value is less than the metric threshold, set the value to <.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method that you want to use to aggregate the metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average: the average value.'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n" + ."\n" + .'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the metric value in the multi-metric alert rule. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], + ], 'required' => false, - 'example' => 'InService', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.'."\n" + ."\n" + .'Default value: `&&`.'."\n", 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\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 in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingInstances' => [ - 'description' => 'The ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ECS instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the ECS instances were added to the scaling group. The value is accurate to the minute.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11Z', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of each ECS instance as a backend server.'."\n" - ."\n" - .'> This parameter is deprecated and is not recommended.'."\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 instances. Valid values:'."\n" - ."\n" - .'* SpotWithPriceLimit: The instances are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are preemptible instances for which the market price at the time of purchase is automatically used as the bidding 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 an ECS instance is not in the Running state, the instance is considered unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases the 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 lifecycles of the instances. 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 your Alibaba Cloud account has an overdue payment, all pay-as-you-go ECS instances, including preemptible instances, may be stopped or even released. For information about how the status of ECS instances changes when you have an overdue payment in your Alibaba Cloud account, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'example' => 'Healthy', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'WarmupState' => [ - 'description' => 'The warm-up status of the ECS instances. Valid values:'."\n" - ."\n" - .'* NoNeedWarmup: The ECS instances do not need to undergo a warm-up process.'."\n" - .'* WaitingForInstanceWarmup: The ECS instances are undergoing the warm-up process.'."\n" - .'* InstanceWarmupFinish: The warm-up process for the ECS instances is complete.'."\n", - 'type' => 'string', - 'example' => 'NoNeedWarmup', - ], - 'LifecycleState' => [ - 'description' => 'The lifecycle status 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. When an ECS instance is being added to the scaling group, Auto Scaling also adds the instance to the backend server groups of the attached load balancers and adds the private IP address of the instance to the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a scale-out lifecycle hook is in effect, the ECS instance remains in the Pending:Wait state until the timeout period for the lifecycle hook expires.'."\n" - .'* Protected: The ECS instance is protected. Protected ECS instances can continue to provide services as expected, but Auto Scaling does not manage the lifecycles of the ECS instances. You must manually manage the lifecycles of the ECS instances.'."\n" - .'* Standby: The ECS instance is on standby. Standby ECS instances do not provide services as expected, and the weights of the ECS instances as backend servers are reset to zero. Auto Scaling does not manage the lifecycles of the ECS instances. Therefore, you must manually manage the lifecycles of the ECS instances.'."\n" - .'* Stopped: The ECS instance is stopped. Stopped ECS instances no longer provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. When an ECS instance is being removed from the scaling group, Auto Scaling also removes the instance from the backend server groups of the attached load balancers and removes the private IP address of the instance from the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a scale-in lifecycle hook is in effect, the ECS instance remains in the Removing:Wait state until the timeout period for the lifecycle hook expires.'."\n", - 'type' => 'string', - 'example' => 'InService', - ], - 'CreationType' => [ - 'description' => 'The instance creation method. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instances are created by Auto Scaling based on the instance configuration source.'."\n" - .'* Attached: The ECS instances are manually added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'AutoCreated', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1i65jd06v04vdh****', - ], - 'Entrusted' => [ - 'description' => 'Indicates whether the scaling group is allowed to manage the instance lifecycles when ECS instances are manually added. If the scaling group is allowed to manage the instance lifecycles, Auto Scaling can release the ECS instances when the instances are automatically 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 instance type are required to meet the expected capacity requirement.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CreatedTime' => [ - 'description' => 'The time when the ECS instances were added to the scaling group. The value is accurate to the second.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11:39Z', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which the ECS instances were added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'ScalingInstanceId' => [ - 'description' => 'The ID of the ECS instance or elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'asi-j6cj1gcte640ekhb****', - ], - 'PrivateIpAddress' => [ - 'description' => 'The private IP address of the ECS instance.'."\n", - 'type' => 'string', - 'example' => '1**.2*.1**.2**', - ], - ], - ], - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingInstances', - ], - 'DescribeScalingActivities' => [ - 'summary' => 'Queries scaling activities. You can call the DescribeScalingActivities operation to query the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can query the status and cause of a scaling activity. You can also query the total number of instances after a scaling activity is complete.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CreateAlarm', + 'description' => '* If you set MetricType to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" + ."\n" + .'* When you create an event-triggered task, you must specify MetricName, Dimensions.DimensionKey, and Dimensions.DimensionValue to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify user_id and scaling_group for an event-triggered task to aggregate monitoring data of all ECS instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" + ."\n" + .' * If you create an event-triggered task of the custom monitoring type, you can specify only custom metrics in the task.'."\n" + .' * If you create an event-triggered task of the system monitoring type, you can specify the system metrics described in [Event-triggered tasks of the system monitoring type](~~74854~~) in the task.'."\n" + ."\n" + .'> user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see `Dimensions.DimensionKey` and `Dimensions.DimensionValue` in the "Request parameters" section of this topic.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'operationType' => 'write', + ], + 'CreateDiagnoseReport' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4470,2887 +1579,1198 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125358', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '221453', + 'abilityTreeNodes' => ['FEATUREessO4WOGN'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling activity that you want to query belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + '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" - ."\n" - .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'StatusCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the scaling activity. Valid values:'."\n" - ."\n" - .'* Successful: The scaling activity is successful.'."\n" - .'* Warning: The scaling activity is partially successful.'."\n" - .'* Failed: The scaling activity failed.'."\n" - .'* InProgress: The scaling activity is in progress.'."\n" - .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Successful', - ], - ], - [ - 'name' => 'ScalingActivityIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling activities that you want to query.'."\n" - ."\n" - .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the scaling activity that you want to query.'."\n" - ."\n" - .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp161xudmuxdzofe****', - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1f2f6oxc2*******'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F2A46', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingActivities' => [ - 'description' => 'The scaling activities.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scaling activity.'."\n", - 'type' => 'object', - 'properties' => [ - 'Progress' => [ - 'description' => 'The execution progress of the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ScalingInstanceNumber' => [ - 'description' => '* If you query a scale-out activity, the value of this parameter indicates the number of instances that are created or the number of instances that are started from Economical Mode.'."\n" - .'* If you query a scale-in activity, the value of this parameter indicates the number of instances that are deleted or the number of instances that are stopped in Economical Mode.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AttachedCapacity' => [ - 'description' => 'The total number of instances that are manually added to the scaling group after the scaling activity is complete.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TotalCapacity' => [ - 'description' => 'The total number of instances in the scaling group after the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - 'AutoCreatedCapacity' => [ - 'description' => 'The total number of instances that are created by Auto Scaling after the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'EndTime' => [ - 'description' => 'The time when the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2020-09-10T09:54Z', - ], - 'StartTime' => [ - 'description' => 'The time when the scaling activity was started.'."\n", - 'type' => 'string', - 'example' => '2020-09-10T09:54Z', - ], - 'Description' => [ - 'description' => 'The description of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'Add \\"1\\" ECS instance', - ], - 'StatusCode' => [ - 'description' => 'The status of the scaling activity. Valid values:'."\n" - ."\n" - .'* Successful: The scaling activity is successful.'."\n" - .'* Warning: The scaling activity is partially successful.'."\n" - .'* Failed: The scaling activity failed.'."\n" - .'* InProgress: The scaling activity is in progress.'."\n" - .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", - 'type' => 'string', - 'example' => 'Successful', - ], - 'Cause' => [ - 'description' => 'The reason why the scaling activity was triggered.'."\n", - 'type' => 'string', - 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp161xudmuxdzofe****', - ], - 'StatusMessage' => [ - 'description' => 'The status message of the scaling activity.'."\n", - 'type' => 'string', - 'example' => '\\"1\\" ECS instances are added', - ], - 'CreatedCapacity' => [ - 'description' => 'The number of instances that are created during the scale-out event.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DestroyedCapacity' => [ - 'description' => 'The number of instances that are released during the scale-in event.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StartedCapacity' => [ - 'description' => 'The number of instances that are started from the Economical Mode during the scale-out event.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that are stopped in the Economical Mode during the scale-in event.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreatedInstances' => [ - 'description' => 'The instances that are created during the scale-out event.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that are created during the scale-out event.'."\n", - 'type' => 'string', - 'example' => '["i-abc1","i-abc2"]', - ], - ], - 'DestroyedInstances' => [ - 'description' => 'The instances that are released during the scale-in event.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that are released during the scale-in event.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' "i-abc1",'."\n" - .' "i-abc2"'."\n" - .']', - ], - ], - 'StartedInstances' => [ - 'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' "i-abc1",'."\n" - .' "i-abc2"'."\n" - .']', - ], - ], - 'StoppedInstances' => [ - 'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' "i-abc1",'."\n" - .' "i-abc2"'."\n" - .']', - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned when the scaling activity failed.'."\n", - 'type' => 'string', - 'example' => 'OperationDenied.NoStock', - ], - 'ErrorMessage' => [ - 'description' => 'The error message that is returned when the scaling activity failed.'."\n", - 'type' => 'string', - 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.', - ], - 'Detail' => [ - 'description' => 'Details of the scaling activity.'."\n", - 'type' => 'string', - 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."', - ], - 'TriggerSourceType' => [ - 'description' => 'The type of the trigger source of the scaling activity. Valid values:'."\n" - ."\n" - .'* Cms: The scaling activity is triggered by an event-triggered task.'."\n" - .'* APIs: The scaling activity is triggered by calling an API operation.'."\n" - .'* Ess: The scaling activity is triggered by Auto Scaling.'."\n", - 'type' => 'string', - 'example' => 'Api', - ], - 'TriggerSourceId' => [ - 'description' => 'The ID of the trigger source of the scaling activity. Valid values:'."\n" - ."\n" - .'* If the scaling activity is triggered by an event-triggered task, the ID of the trigger source is the ID of the event-triggered task.'."\n" - .'* If the scaling activity is triggered by calling an API operation, the ID of the trigger source is the ID of the Alibaba Cloud account or Resource Access Management (RAM) user that you use to call the API operation.'."\n" - .'* If the scaling activity is triggered by Auto Scaling, the ID of the trigger source is null.'."\n", - 'type' => 'string', - 'example' => '2346366580*****', - ], - 'LifecycleHookContext' => [ - 'description' => 'The context of the lifecycle hook.'."\n", - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'description' => 'Indicates whether all lifecycle hooks are disabled when the scaling activity is triggered. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'IgnoredLifecycleHookIds' => [ - 'description' => 'The IDs of the lifecycle hooks that are disabled.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the lifecycle hook that is disabled.'."\n", - 'type' => 'string', - 'example' => 'ash-bp14zolna43z266bq***'."\n", - ], - ], - ], - ], - 'ActivityMetadata' => [ - 'description' => 'The metadata of the scaling activity.'."\n", - 'type' => 'string', - 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}', - ], - 'InstanceRefreshTaskId' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => 'ir-asdf12adsxg*****', - ], - 'ErrorMessages' => [ - 'description' => 'The error messages that are returned when the scaling activities failed or are partially successful.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'description' => 'The description of the scaling activity exception.'."\n", - 'type' => 'string', - 'example' => 'Fail to create instances into scaling group.', - ], - 'Code' => [ - 'description' => 'The error code that is returned when the scaling activity failed.'."\n", - 'type' => 'string', - 'example' => 'OperationDenied.NoStock', - ], - 'Message' => [ - 'description' => 'The error message that is returned when the scaling activity failed or is partially successful.'."\n", - 'type' => 'string', - 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', - ], - 'FailedInstanceIds' => [ - 'description' => 'The IDs of the instances included in the failed scaling activities.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance included in the failed scaling activity.'."\n", - 'type' => 'string', - 'example' => 'i-8vbedazhjj6a6******', - ], - ], - ], - 'description' => '', - ], - ], - ], - ], - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0189C6CB-07BA-5AFE-B533-D93892324774'], + 'ReportId' => ['description' => 'The unique ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-uf6enpbnri1xhcy9qc7s'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": [\\n \\"[\\\\\\"i-abc1\\\\\\",\\\\\\"i-abc2\\\\\\"]\\"\\n ],\\n \\"DestroyedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StartedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StoppedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": [\\n \\"ash-bp14zolna43z266bq***\\\\n\\"\\n ]\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingActivities', - 'description' => '* You can query all scaling activities in a scaling group by specifying ScalingGroupId.'."\n" - .'* You can filter query results based on the status of scaling activities.'."\n" - .'* You can query scaling activities within the last 30 days.'."\n", - ], - 'DescribeScalingActivityDetail' => [ - 'summary' => 'Queries the details of a scaling activity. You can query a scaling activity by its ID. The scaling activity details include the scaling activity status, error code, and error message. You can efficiently troubleshoot issues and analyze service performance based on the error message.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125351', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingActivityId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity that you want to query. You can call the DescribeScalingActivities operation to query the IDs of scaling activities.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'Detail' => [ - 'description' => 'The details of the scaling activity. The result of a scaling activity is either successful or failed. If the scaling activity is rejected, no scaling activity details are returned.'."\n", - 'type' => 'string', - 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]', + 'title' => 'CreateDiagnoseReport', + 'summary' => 'Creates a diagnostic report.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - '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', ], - 'AttachLoadBalancers' => [ - 'summary' => 'Attaches load balancers to a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups. Load balancers help distribute the access traffic to the instances in scaling groups, which effectively improves the service performance of the scaling groups. You can call the AttachLoadBalancers operation to attach one or more load balancers to your scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateEciScalingConfiguration' => [ + 'summary' => 'Creates a scaling configuration of the Elastic Container Instance type. Auto Scaling uses the scaling configuration as a template to create elastic container instances to meet your business requirements during scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125378', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125325', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', '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 scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the existing instances in the scaling group as backend servers of the load balancer. Valid values:'."\n" - ."\n" - .'* true: If you set this parameter to `true`, the attachment of the load balancer entails the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If a load balancer is currently attached to your scaling group, and you only want to add the instances in your scaling group to the backend server groups of the load balancer, you can call this operation again and set ForceAttach request to true.'."\n" - ."\n" - .'* false: If you set this parameter to false, the attachment of the load balancer does not entail the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + ."\n" + .'The name of the scaling configuration must be unique in a scaling group within a region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'desc', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to attach the CLB instance to the scaling group in an asynchronous manner. If you attach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true. Valid values:'."\n" - ."\n" - .'* true: attaches the CLB instance to the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" - .'* false: does not attach the CLB instance to the scaling group in an asynchronous manner.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'LoadBalancers', + 'name' => 'ContainerGroupName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the load balancers that you want to attach to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n" - ."\n" - .'> In each call, you can attach up to five load balancers to a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs**** '."\n", - ], - 'required' => false, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The name series of elastic container instances.'."\n" + ."\n" + .'If you want to use an ordered instance name, specify the value for this parameter in the following format: name_prefix\\[begin_number,bits]name_suffix.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test-(AUTO_INCREMENT)[0,3]', 'title' => ''], ], [ - 'name' => 'LoadBalancerConfigs', + 'name' => 'RestartPolicy', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The configurations of the classic load balancer (CLB, formerly known as SLB) instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '147b46d767c-cn-qingdao-cm5**** ', - ], - 'Weight' => [ - 'description' => 'The weight of an Elastic Compute Service (ECS) instance or elastic container instance as a backend sever of the CLB instance. If an instance has a higher weight, more access traffic is routed to the instance. If an instance has zero weight, no access traffic is routed to the instance.'."\n" - ."\n" - .'Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n" - ."\n" - .'This parameter is returned only if you set `Async` to `true`. You can call the DescribeScalingActivities operation to query the scaling activity IDs and status.'."\n", - 'type' => 'string', - 'example' => 'asa-bp140qd7mak8k63f****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachLoadBalancers', - 'description' => 'Before you call this operation, make sure that the following requirements are met:'."\n" - ."\n" - .'* The load balancer and the scaling group belong to the same Alibaba Cloud account and region.'."\n" - .'* The load balancer is in the `Running` state.'."\n" - .'* At least one listener is configured for the load balancer, and the health check feature is enabled for the load balancer.'."\n" - .'* If the network type of the load balancer and the scaling group is virtual private cloud (VPC), they use the same VPC.'."\n" - .'* If the network type of the scaling group is VPC, and that of the load balancer is classic network and a backend server of the load balancer uses a VPC, the scaling group and the backend server use the same VPC.'."\n" - .'* The attachment of load balancers ensures that the cumulative number of load balancers attached to the scaling group stays within the predefined maximum limit. For information about the load balancer quota, see [Limits](~~25863~~).'."\n", - ], - 'DetachLoadBalancers' => [ - 'summary' => 'Detaches Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instances from a scaling group. If the current CLB instance no longer meets your business requirements, you can call the DetachLoadBalancers operation to detach it from your scaling group. When you call this operation, you can use ScalingGroupId, LoadBalancer.N, and ForceDetach to specify one or more CLB instances to detach. You can also determine whether to call this operation asynchronously and whether to remove the Elastic Compute Service (ECS) instances acting as backend servers from the backend server groups of the CLB instance. You can call this operation to detach only CLB instances from a scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125361', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + 'schema' => ['description' => 'The restart policy of elastic container instances. Valid values:'."\n" + ."\n" + .'* Always: always restarts elastic container instances.'."\n" + .'* Never: never restarts elastic container instances.'."\n" + .'* OnFailure: restarts elastic container instances upon failures.'."\n" + ."\n" + .'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the load balancer. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'DnsPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" - .'* false: does not detach the CLB instance from the scaling group in an asynchronous manner.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" + ."\n" + .'* None: uses the DNS that is specified by DnsConfig.'."\n" + .'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'LoadBalancers', + 'name' => 'EnableSls', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity. The value of this parameter is returned only if you set the Async parameter to true. You can call the describescalingactivities operation to query all scaling activity IDs and use the scaling activity IDs to check the status of the scaling activities.'."\n", - 'type' => 'string', - 'example' => 'asa-bp140qd7mak8k63f****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DetachLoadBalancers', - ], - 'AttachDBInstances' => [ - 'summary' => 'Associates one or more ApsaraDB RDS instances with a scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125394', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], + 'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [RAM roles](~~61175~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the private IP addresses of all ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance that you want to attach to the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The buffer time during which a program handles operations before the program stops. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'AutoMatchImageCache', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'DBInstances', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to attach to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ApsaraDB RDS instance that you want to attach to the scaling group.'."\n" - ."\n" - .'> You can attach up to five ApsaraDB RDS instances to a scaling group at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ActiveDeadlineSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'AttachMode', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n" - ."\n" - .'* SecurityIp: adds the private IP addresses of scaled out ECS instances to the IP address whitelist of the database. Take note that you can choose this mode only when the database that you want to attach is an ApsaraDB RDS instance.'."\n" - .'* SecurityGroup: adds the security group of the scaling configuration based on which ECS instances are created in the scaling group to the security group whitelist of the database for registration.'."\n" - ."\n" - .'Default value: SecurityIp.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SecurityIp', - ], + 'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the database that you want to attach to the scaling group. Valid values:'."\n" - ."\n" - .'* RDS'."\n" - .'* Redis'."\n" - .'* MongoDB'."\n" - ."\n" - .'Default value: RDS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RDS', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" + ."\n" + .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachDBInstances', - 'description' => 'Before you attach an ApsaraDB RDS instance to a scaling group, make sure that the ApsaraDB RDS instance meets the following requirements:'."\n" - ."\n" - .'* The ApsaraDB RDS instance and the scaling group belong to the same Alibaba Cloud account.'."\n" - .'* The ApsaraDB RDS instance is unlocked. For information about the lock policy, see [ApsaraDB RDS usage notes](~~41872~~).'."\n" - .'* The ApsaraDB RDS instance is in the Running state.'."\n" - .'* The ApsaraDB RDS instance exists in the Alibaba Cloud account.'."\n" - .'* If you reattach an ApsaraDB RDS instance to a scaling group, the total number of attached ApsaraDB RDS instances of the scaling group remains unchanged. But Auto Scaling adds the private IP addresses of all Elastic Compute Service (ECS) instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance.'."\n" - ."\n" - .'> After you attach an ApsaraDB RDS instance to a scaling group, make sure that the number of IP addresses in the default whitelist of the ApsaraDB RDS instance is limited to 1,000. For information about IP address whitelists, see [Configure an IP address whitelist](~~96118~~).'."\n", - ], - 'DetachDBInstances' => [ - 'summary' => 'Detaches one or more ApsaraDB RDS instances from a scaling group. If you want to decrease the number of ApsaraDB RDS instances attached to your scaling group, you can call the DetachDBInstance operation. This operation liberates ApsaraDB RDS instances from your scaling group, thereby significantly boosting the agility and efficiency in managing and allocating your resources.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '125376', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', + 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'EipBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'DBInstances', + 'name' => 'IngressBandwidth', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'EgressBandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], ], [ - 'name' => 'RemoveSecurityGroup', + 'name' => 'CpuOptionsCore', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the security group. This parameter takes effect only if you set `AttachMode` to `SecurityGroup`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DetachDBInstances', - ], - 'SuspendProcesses' => [ - 'summary' => 'Suspends scaling processes. This operation empowers you to selectively pause distinct scaling processes within a particular scaling group, enabling you to carry out alternative tasks and achieve more granular management over your scaling operations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125380', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', + 'name' => 'CpuOptionsThreadsPerCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. You can specify this parameter for specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'EphemeralStorage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], + 'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of performance level 1 (PL1) is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'LoadBalancerWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The load balancing weight of each elastic container instance. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'Processes', + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The types of processes that you want to suspend. Valid values:'."\n" - ."\n" - .'* ScaleIn: the scale-in process.'."\n" - .'* ScaleOut: the scale-out process.'."\n" - .'* HealthCheck: the health check process.'."\n" - .'* AlarmNotification: the process of executing an event-triggered task.'."\n" - .'* ScheduledAction: the process of executing a scheduled task.'."\n" + 'description' => 'The tags of elastic container instances. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" ."\n" - .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", + .'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" + .'* A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The type of the process that you want to suspend. Valid values:'."\n" - ."\n" - .'* ScaleIn: the scale-in process.'."\n" - .'* ScaleOut: the scale-out process.'."\n" - .'* HealthCheck: the health check process.'."\n" - .'* AlarmNotification: the process of executing an event-triggered task.'."\n" - .'* ScheduledAction: the process of executing a scheduled task.'."\n" + 'description' => 'The tag of the elastic container instance. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" ."\n" - .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], - 'required' => true, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51****', + .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" + .'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the elastic container instance.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value of the elastic container instance.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], ], + 'required' => false, + 'title' => '', ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB51****\\"\\n}","type":"json"}]', - 'title' => 'SuspendProcesses', - ], - 'ResumeProcesses' => [ - 'summary' => 'Resumes suspended processes in a scaling group. This operation allows Auto Scaling to proceed with executing these processes according to their predefined rules and logic. For example, if you resume the health check process in your scaling group, Auto Scaling automatically detects and removes any instances deemed unhealthy from the scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125388', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'Processes', + 'name' => 'ImageRegistryCredentials', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the processes that you want to resume.'."\n", + 'description' => 'The image repositories.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The type of the process that you want to resume. Valid values:'."\n" - ."\n" - .'* ScaleIn'."\n" - .'* ScaleOut'."\n" - .'* HealthCheck'."\n" - .'* AlarmNotification'."\n" - .'* ScheduledAction'."\n" - ."\n" - .'You can resume five processes of the preceding types at the same time. If you try to resume more than five processes at the same time, Auto Scaling automatically removes the duplicate processes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], - 'required' => true, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request'."\n", - 'type' => 'string', - 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****', + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpassword '."\n", 'title' => ''], + 'Server' => ['description' => 'The endpoint of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername '."\n", 'title' => ''], ], + 'required' => false, + 'title' => '', ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]', - 'title' => 'ResumeProcesses', - ], - 'AttachVServerGroups' => [ - 'summary' => 'Attaches vServer groups to a scaling group. After a Classic Load Balancer (CLB) instance is attached to your scaling group, the instances in the scaling group are automatically added as backend servers of the CLB instance. These servers then handle requests forwarded by the CLB instance, streamlining the processing of incoming traffic. To direct varying access requests to separate backend servers or to distribute requests based on domain names or URLs, you can call the AttachVServerGroups operation. This operation enables the addition of multiple vServer groups, allowing for efficient management of various backend server configurations tailored to your routing preferences.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125332', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai. For information about regions and zones, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'ForceAttach', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new vServer group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 11, + 'title' => '', ], ], [ - 'name' => 'VServerGroups', + 'name' => 'Containers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the vServer groups.'."\n", + 'description' => 'The containers per elastic container instance.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer groups.'."\n", + 'description' => 'The monitoring data of containers.'."\n", 'type' => 'object', 'properties' => [ - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the vServer group.'."\n", + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a readiness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Add' => [ + 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permission that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for readiness probing. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Ports' => [ + 'description' => 'The ports.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer group attributes.'."\n", + 'description' => 'The port.'."\n", 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number over which Auto Scaling adds ECS instances or elastic container instances to the new vServer group. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], + 'Protocol' => ['description' => 'The type of the protocol. Valid values:'."\n" + ."\n" + .'* TCP.'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the container runs is read-only.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the \\[0-9a-zA-Z] format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", - 'type' => 'string', + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, set the value to true.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for liveness probing. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Args' => [ + 'description' => 'The startup arguments of the container. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup argument of the container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], 'required' => false, - 'example' => 'rsp-bp1jp1rge**** '."\n", + 'maxItems' => 101, + 'title' => '', ], + 'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size that you want to allocate to the container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx '."\n", 'title' => ''], + 'Image' => ['description' => 'The image in the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMounts' => [ + 'description' => 'The volume mounts of the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories are not propagated to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories are propagated to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories are propagated to the volume. All volume mounts executed on the container are not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory in which the container mounts the volume.'."\n" + ."\n" + .'> Data in this directory is overwritten by data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The volume name. The value of this parameter is the same as the value of Volumes.Name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a liveness probe to be classified as failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a readiness probe to be classified as failed. Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Each time instances are created, image pulling is performed.'."\n" + .'* IfNotPresent: Image pulling is performed based on your business requirements. On-premises images are used by default. If no on-premises images are available, images are pulled from remote sources.'."\n" + .'* Never: Image pulling is not performed. On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions if Stdin is set to true.'."\n" + ."\n" + .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a liveness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you want to run by using the CLI for liveness probing within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI for liveness probing within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''], + 'LivenessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests that you want to send to configure the postStart callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET requests that you want to send to configure the preStop callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachVServerGroups', - 'description' => '* Before you call this operation, make sure that the following requirements are met:'."\n" - ."\n" - .' * The CLB instance and the scaling group belong to the same Alibaba Cloud account.'."\n" - .' * The CLB instance and the scaling group reside in the same region.'."\n" - .' * The CLB instance is in the Running state.'."\n" - .' * The CLB instance is configured with at least one listener. The health check feature is enabled for the CLB instance.'."\n" - .' * If the network type of both the CLB instance and the scaling group is virtual private cloud (VPC), they use the same VPC.'."\n" - .' * If the network type of the scaling group is VPC and the network type of the CLB instance is classic network, any backend server of the CLB instance within a VPC setup shares the same VPC as the scaling group.'."\n" - .' * The vServer groups that you want to attach to the scaling group belong to the CLB instance.'."\n" - .' * The operation to attach vServer groups does not result in the total number of vServer groups exceeding the predefined quota limit. For information about the vServer group quota, see [Limits](~~25863~~).'."\n" - ."\n" - .'* When you call this operation to attach vServer groups, you must specify the following parameters:'."\n" - ."\n" - .' * LoadBalancerId: the ID of the CLB instance'."\n" - .' * VServerGroupId: the ID of the vServer group'."\n" - .' * Port: the port number of the vServer group'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you attempt to attach the same vServer group to a scaling group multiple times over the identical port, the system regards each attempt as a separate vServer group attachment to the scaling group. In your request, if you include the same vServer group ID coupled with the same port number multiple times, only the first configuration of the vServer group and port number pairing is considered valid. Subsequent vServer group and port number parings are disregarded.'."\n", - ], - 'DetachVServerGroups' => [ - 'summary' => 'Detaches vServer groups from a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups to improve service performance. If the load balancer currently attached to your scaling group is no longer needed to distribute the access traffic to the instances in your scaling group, you can call the DetachVServerGroups operation to detach one or more vServer groups of this load balancer from the scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125323', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'ForceDetach', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the existing instances in the scaling group from the vServer group marked for detachment.'."\n" - ."\n" - .'* true: If you set this parameter to `true`, the detachment of the load balancer from the scaling group causes automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n" - .'* false: If you set this parameter to `false`, the detachment of the load balancer from the scaling group does not cause automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'docRequired' => true, + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'VServerGroups', + 'name' => 'Volumes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The collection of information about the vServer groups marked for detachment.'."\n", + 'description' => 'The volumes.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer groups.'."\n", + 'description' => 'The volume.'."\n", 'type' => 'object', 'properties' => [ - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the backend vServer group.'."\n", + 'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'The size of the volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'The path to the NFS volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share '."\n", 'title' => ''], + 'FlexVolume.FsType' => ['description' => 'The type of the file system that you want to mount. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4 '."\n", 'title' => ''], + 'DiskVolume.FsType' => ['description' => 'The type of the disk volume. We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/path '."\n", 'title' => ''], + 'FlexVolume.Options' => ['description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, specify the value in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. By default, this parameter is left empty. In this case, the emptyDir volume uses the file system of the node as the storage medium. A value of memory specifies that the emptyDir volume uses the memory as the storage medium.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The paths to the configuration files.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer group attributes.'."\n", + 'description' => 'The path to the configuration file.'."\n", 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1jp1rge****', - ], - 'Port' => [ - 'description' => 'The port number that Auto Scaling employs to incorporate instances into the vServer group. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], + 'Path' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Mode' => ['description' => 'The permissions on the configuration file.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''], ], 'required' => false, + 'title' => '', ], 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the load balancer to which the vServer group belongs.'."\n" - ."\n" - .'> You can detach vServer groups of up to five load balancers from a scaling group in one call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1p90y3ya9h8s62d****', + 'maxItems' => 90, + 'title' => '', ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DetachVServerGroups', - 'description' => '* When you call the DetachVServerGroups operation, you must use the following parameters to specify the vServer groups that you want to detach from your scaling group:'."\n" - ."\n" - .' * LoadBalancerId: the ID of the load balancer'."\n" - .' * VServerGroupId: the ID of the vServer group'."\n" - .' * Port: the port number of the vServer group'."\n" - ."\n" - .'* When the vServer group specified by the request parameters matches that attached to your scaling group, this operation yields a favorable result. Otherwise, the request is ignored and no error is reported.'."\n" - ."\n" - .'* Before you call this operation, you must make sure that the load balancer has ceased routing the access traffic to the instances in the scaling group. Failure to do so may lead to service requests being dropped or lost during the detachment process.'."\n", - ], - 'AttachAlbServerGroups' => [ - 'summary' => 'Attaches Application Load Balancer (ALB) server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachAlbServerGroups operation. By attaching ALB server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125338', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n" - ."\n" - .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information about regions and zones, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'ForceAttach', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the new ALB server group. Valid values:'."\n" - ."\n" - .'* true: adds the existing ECS instances or elastic container instances in the scaling group to the new ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are added to the ALB server group.'."\n" - .'* false: does not add the existing ECS instances or elastic container instances in the scaling group to the new ALB server group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 101, + 'title' => '', ], ], [ - 'name' => 'AlbServerGroups', + 'name' => 'InitContainers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the ALB server groups.'."\n", + 'description' => 'The init containers.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the ALB server group.'."\n", + 'description' => 'The init container.'."\n", 'type' => 'object', 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n" - ."\n" - .'You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path '."\n", 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance or elastic container instance after being added as a backend server to the ALB server group. Valid values: 0 to 100.'."\n" + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If you assign zero weight to an instance, the instance is allocated no access requests.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port used by ECS instances or elastic container instances after being added as backend servers to the ALB server group.'."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .'Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerPorts' => [ + 'description' => 'The ports of init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. All volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory to which the init container mounts the volume. The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''], + 'Commands' => [ + 'description' => 'The startup commands of the init container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup command of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep'."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'Args' => [ + 'description' => 'The startup arguments of the init container. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup argument of the init container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init '."\n", 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity. During the scaling activity, the ALB server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the ALB server group.'."\n" - ."\n" - .'> This parameter is returned only if you set `ForceAttach` to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-2ze6wxj8vsohn6j9****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachAlbServerGroups', - 'description' => 'Before you call the operation to attach an ALB server group to your scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The scaling group and the ALB server group share the same virtual private cloud (VPC).'."\n" - .'* The ALB server group is in the Available state.'."\n", - ], - 'DetachAlbServerGroups' => [ - 'summary' => 'Detaches Application Load Balancer (ALB) server groups from a scaling group. When you call the DetachAlbServerGroups operation, you can specify the scaling group ID, ALB server group ID, and port used by Elastic Compute Service (ECS) instances in the desired ALB server group to detach one or more ALB server groups from your scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125336', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'required' => false, + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DnsConfigNameServers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'description' => 'The IP addresses of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.**'."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'DnsConfigSearchs', '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 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', + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes'."\n", 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'ForceDetach', + 'name' => 'DnsConfigOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances from the Application Load Balancer (ALB) server group marked for detachment. Valid values:'."\n" - ."\n" - .'* true: removes the existing ECS instances from the ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are removed from the ALB server group.'."\n" - .'* false: does not remove the existing ECS instances from the ALB server group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value '."\n", 'title' => ''], + 'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'AlbServerGroups', + 'name' => 'HostAliases', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the ALB server groups.'."\n", + 'description' => 'The custom hostnames of the containers.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the ALB server groups.'."\n", + 'description' => 'The custom hostname of the container.'."\n", 'type' => 'object', 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Port' => [ - 'description' => 'The port number used by the ECS instances in the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', + 'Ip' => ['description' => 'The IP address of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'."\n", 'title' => ''], + 'Hostnames' => [ + 'description' => 'The hostnames of the containers that you want to add.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The hostname of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', ], ], 'required' => false, + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which the ALB server group is detached from the scaling group and the existing ECS instances are removed from the ALB server group. This parameter has a return value only if you set `ForceDetach` to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-2ze6wxj8vsohn6j9****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'DetachAlbServerGroups', - ], - 'AttachServerGroups' => [ - 'summary' => 'Attaches server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachServerGroups operation. By attaching Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166342', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', + 'required' => false, + 'maxItems' => 101, + 'title' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'SecurityContextSysctls', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The variable name of the security context in which the container group runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax'."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 11, + 'title' => '', ], ], [ - 'name' => 'ForceAttach', + 'name' => 'NtpServers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances (ECI) in the scaling group to the server group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'ServerGroups', + 'name' => 'AcrRegistryInfos', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the server groups.'."\n", + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The information about the server group.'."\n", + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", 'type' => 'object', 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-5yc3bd9lfyh*****', - ], - 'Type' => [ - 'description' => 'The type of the server group. Valid Values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - .'* GWLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS or ECI instance as a backend server of the server group. Valid values: 0 to 100'."\n" - ."\n" - .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If the weight is 0, the ECS or ECI instance does not receive access requests.'."\n" - ."\n" - .'> For ALB and NLB types, this parameter is required. GWLB type cannot be set.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port used by ECS or ECI instances after being added as backend servers to the server group.'."\n" - ."\n" - .'Valid values: 1 to 65535.'."\n" - ."\n" - .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com '."\n", 'title' => ''], 'required' => false, - 'example' => '22', + 'maxItems' => 100, + 'title' => '', ], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test'."\n", 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing '."\n", 'title' => ''], ], 'required' => false, + 'title' => '', ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity. During the scaling activity, the server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the server group.'."\n" - ."\n" - .'> This parameter is returned only if you set ForceAttach to true.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + 'required' => false, + 'maxItems' => 21, + 'title' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachServerGroups', - ], - 'DetachServerGroups' => [ - 'summary' => 'Remove one or more SLB server groups from a scaling group. Supported server group types include Application Load Balancer (ALB), Network Load Balancer (NLB), and Gateway Load Balancer (GWLB), which can dynamically adjust SLB policies and help improve high availability of the system.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'CostOptimization', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166343', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family. You can specify this parameter to match the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective, but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The ECS instance types that you want to use to create elastic container instances. You can specify up to five ECS instance types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type that you want to use to create elastic container instances. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DataCacheBucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The bucket that you want to use to store data caches.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'DataCachePL', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The PL of the cloud disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group from the server group marked for detachment.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × *Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], ], [ - 'name' => 'ServerGroups', + 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The information about the server groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The server groups.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-1gv2uidn2msy****', - ], - 'Type' => [ - 'description' => 'The type of the server group. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - .'* GWLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Port' => [ - 'description' => 'The port used by ECS instances or elastic container instances as backend servers of the server group.'."\n" - ."\n" - .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'Specifies whether to enable the performance burst feature when ESSD AutoPL disks are used to store data caches. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'GpuDriverVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n" + ."\n" + .'* tesla=470.82.01 (default)'."\n" + .'* tesla=525.85.12'."\n" + ."\n" + .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity. During the scaling activity, the server group is detached from the scaling group and the existing servers, which are the ECS instances or elastic container instances in the scaling group, are removed from the server group.'."\n" - ."\n" - .'> This parameter is returned only if you set `ForceDetach` to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1gbswjhjrw8tko****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], + 'ScalingConfigurationId' => ['description' => 'The ID of the elastic container instance (container group).'."\n", 'type' => 'string', 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], - 'description' => '', + 'title' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', - 'title' => 'DetachServerGroups', - ], - 'ChangeResourceGroup' => [ - 'summary' => 'Changes a resource group. Resource groups are a means to categorize and manage cloud resources, such as scaling groups, based on specific objectives, permissions, or ownership. In large, multifaceted organizations that manage numerous projects and users, this feature adopts a tiered management approach, simplifying management tasks and improving the effectiveness and oversight of resource allocation. You can call the ChangeResourceGroup operation to move your scaling groups from one resource group to another resource group, which facilitates streamlined monitoring and management within the context of the new group. This operation eliminates the need for repetitive and time-consuming cross-service resource queries, thereby enhancing operational efficiency.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'CreateEciScalingConfiguration', + 'description' => '伸缩配置用来指定弹性扩张时使用的ECI实例模板。'."\n" + ."\n" + .'参数Cpu和Memory用于指定CPU和内存定义实例规格的范围,弹性伸缩会结合IO优化、可用区等因素确定可用实例规格集合,并根据价格排序为您创建价格最低的实例。该方式仅适用于伸缩组的扩缩容策略为成本优化策略,且伸缩配置未指定实例规格的场景。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"eci-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + ], + 'CreateLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '163908', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '125396', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'], ], [ - 'name' => 'ResourceType', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The name of the lifecycle hook. Each lifecycle hook name must be unique within a scaling group. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + ."\n" + .'If you do not specify this parameter, the value of the LifecycleHookId parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'], ], [ - 'name' => 'ResourceId', + 'name' => 'LifecycleTransition', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group that you want to move from the current resource group to another resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], + 'schema' => ['description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'* SCALE_OUT'."\n" + .'* SCALE_IN'."\n", 'type' => 'string', 'required' => true, 'example' => 'SCALE_OUT'], ], [ - 'name' => 'NewResourceGroupId', + 'name' => 'DefaultResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to move the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-aek2ckjqe3*****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], - ], - ], + 'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to scale-in or scale-out requests.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" + ."\n" + .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. As a result, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out.'."\n" + ."\n" + .'Default value: CONTINUE.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', - 'title' => 'ChangeResourceGroup', - 'description' => '* A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" - .'* A resource group serves as a powerful organizational tool within your Alibaba Cloud account, enabling you to manage and monitor multiple resources collectively. It effectively addresses complexities surrounding resource categorization and permission control under a single Alibaba Cloud account, thereby enhancing management efficiency and control. For more information, see [What is resource management?](~~94475~~)'."\n", - ], - 'ApplyScalingGroup' => [ - 'summary' => 'Creates and manages scaling groups by using configuration files. You can call the ApplyScalingGroup operation to create and manage scaling groups by using configuration files with efficiency.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '206521', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - 'FEATUREessXN6KX4', + 'name' => 'HeartbeatTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n" + ."\n" + .'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'], ], - ], - 'parameters' => [ [ - 'name' => 'Content', + 'name' => 'NotificationMetadata', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The content of the configuration file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .'spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], + 'schema' => ['description' => 'The notification metadata that is sent when the lifecycle hook takes effect. This helps you manage and categorize notifications in an efficient manner. If you specify this parameter, you must specify the NotificationArn parameter. The parameter value cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'If you use the NotificationArn parameter to specify a public or customOOS template, the value of the NotificationMetadata parameter must be a JSON string that contains the OOS template parameters. For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Some parameters defined in your OOS template have default values. When you specify the NotificationMetadata parameter, specify parameters that do not have default values. If you specify parameters that have default values, the default values are overwritten. However, the default values of the following parameters must be retained to obtain information about scaling activities that are in progress:'."\n" + ."\n" + .'* `regionId`: the region ID of the scaling activity that is in progress. Default value: ${regionId}.'."\n" + .'* `instanceIds`: the IDs of ECS instances that are scaled in in the scaling activity. Default value: ${instanceIds}.'."\n" + .'* `lifecycleHookId`: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n" + .'* `lifecycleActionToken`: the token of the lifecycle action. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n" + .'* `scalingGroupId`: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n" + ."\n" + .'> You can obtain template parameter information in the [OOS console](https://oos.console.aliyun.com/).'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test lifecycle hook.'], ], [ - 'name' => 'RegionId', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the value must be in one of the following formats:'."\n" + ."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of the Alibaba Cloud account. IDs of Resource Access Management (RAM) users are not supported.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the enabled scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp1at9ufhmcf9cmy****'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', - 'title' => 'ApplyScalingGroup', - 'description' => 'You can call the ApplyScalingGroup operation to create scaling groups of the Elastic Container Instance type with ease. The resources of the scaling groups are defined in Kubernetes Deployment YAML files. You can also call this operation to extend annotations for elastic container instances in Kubernetes Deployment YAML files. For more information, see "Supported annotations" in this topic.'."\n" - ."\n" - .'Mapping between YAML files and scaling groups: You can map the triplet of namespace, kind, and name in a YAML file to a scaling group name. A YAML file and a scaling group have a one-to-one mapping relationship in a region. For example, if you use the Kubernetes Deployment YAML file whose name is NGINX in the default namespace to create a scaling group in a region, the unique name of the mapped scaling group is k8s\\_default\\_Deployment\\_nginx.'."\n" - ."\n" - .'You can use a Kubernetes Deployment YAML file to manage a scaling group based on the following logic:'."\n" - ."\n" - .'* If an existing scaling group has a mapping relationship with your Kubernetes Deployment YAML file, you can update the scaling group by using the YAML file.'."\n" - .'* If no scaling group that has a mapping relationship with your Kubernetes Deployment YAML file exists, you can create a scaling group with ease by using the YAML file.'."\n" - ."\n" - .'1. If you do not specify a virtual private cloud (VPC), vSwitch, security group, or annotation in your Kubernetes Deployment YAML file, the system creates a default VPC that has default vSwitches and uses the default security group ess-default-sg of Auto Scaling. By default, the security group rule allows traffic on Transmission Control Protocol (TCP)-based port 22 and port 3389 and enables Internet Control Message Protocol (ICMP) for IPv4 addresses. If you want to enable other ports or protocols, you can create custom security group rules.'."\n" - .'2. If you want to use a public image, you must enable the Internet access feature and configure the k8s.aliyun.com/eci-with-eip pod annotation to enable the elastic IP address (EIP) feature.'."\n" - .'3. After you call the ApplyScalingGroup operation to apply a Kubernetes Deployment YAML file, the scaling group immediately enters the Enabled state and the scaling configuration immediately enters the Active state. If the number of replicas that you specified in the YAML file is grater than 0, elastic container instances are automatically created.'."\n" - ."\n" - .'### Supported annotations'."\n" - ."\n" - .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" - ."\n" - .'|Annotation|Example|Description|'."\n" - .'|---|---|---|'."\n" - .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum size of the scaling group that you want to create. Default value: 0.|'."\n" - .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum size of the scaling group that you want to create. Default value: maximum number of replicas or 30, whichever is greater.|'."\n" - .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The IP address of the Network Time Protocol (NTP) server.|'."\n" - .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specifications of 2 vCPUs and 4 GiB of memory. For more information, see [Create pods by specifying multiple specifications](~~451267~~).|'."\n" - .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c\\*\\*\\*\\*|The ID of the vSwitch. You can specify multiple vSwitches to specify multiple zones.|'."\n" - .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv\\*\\*\\*\\*|The ID of the security group. Before you configure this annotation, take note of the following requirements:<ul data-sourcepos="26:74-26:168"><li data-sourcepos="26:78-26:114">You can specify one or more security groups. You can specify up to five security groups for each scaling group.</li><li data-sourcepos="26:114-26:140">If you specify multiple security groups, the security groups must belong to the same VPC.</li><li data-sourcepos="26:140-26:163">If you specify multiple security groups, the security groups must be of the same type.</li></ul>|'."\n" - .'|k8s.aliyun.com/eci-sls-enable|"false"|If you set the value to false, the log collection feature is disabled.'."\n" - ."\n" - .'If you do not want to use Custom Resource Definition (CRD) for Simple Log Service to collect logs of specific pods, you can configure this annotation for the pods and set the value to false. This prevents resource wastes caused by Logtails created by the system.|'."\n" - .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for preemptible instances. Valid values:<ul data-sourcepos="28:69-28:204"><li data-sourcepos="28:73-28:158">SpotWithPriceLimit: The instances are created as preemptible instances with a maximum hourly price. If you set the value to SpotWithPriceLimit, you must configure the k8s.aliyun.com/eci-spot-price-limit annotation.</li><li data-sourcepos="28:158-28:199">SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.</li></ul>|'."\n" - .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price of preemptible instances. This value can be accurate to up to three decimal places.'."\n" - ."\n" - .'This annotation takes effect only when you set the k8s.aliyun.com/eci-spot-strategy annotation to SpotWithPriceLimit.|'."\n" - .'|k8s.aliyun.com/eci-with-eip|"true"|If you set the value to true, an elastic IP address (EIP) is automatically created and bound to each elastic container instance.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-bucket|default|The bucket of data caches. If you want to create a pod based on data caches, you must configure this annotation.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk that you want to create based on data caches.'."\n" - ."\n" - .'By default, enterprise SSDs (ESSDs) are created. Default value: PL1.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" - ."\n" - .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether the Burst feature is enabled for the ESSD AutoPL disk. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" - ."\n" - .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" - .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The tags that you want to add to each elastic container instance. You can add up to three tags for each elastic container instance. Separate a tag key and a tag value with a colon (:). Separate multiple tags with commas (,).|', - ], - 'DescribeElasticStrength' => [ - 'summary' => 'Queries the scaling strength of a scaling configuration. The success rate of scale-out events depends on the scaling strength of the scaling configuration that you want to use. By checking the scaling strength of a scaling configuration, you can enable Auto Scaling to measure its performance and improve specific configurations.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'CreateLifecycleHook', + 'summary' => 'Creates one or more lifecycle hooks in a scaling group. A lifecycle hook allows you to execute custom actions like sending notifications or automating script execution at critical stages (such as instance startup and termination) in the lifecycle of an instance. Implementing the lifecycle hook feature allows for finer control and management of instances. For example, you can verify configurations, set up custom tasks, or back up data on your instances when lifecycle hooks take effect, thus enhancing the flexibility and reliability of application deployment.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]', + ], + 'CreateNotificationConfiguration' => [ + 'summary' => 'Creates a notification rule. You can call the CreateNotificationConfiguration operation to create a notification rule to stay informed about scaling events or resource changes. This helps you learn about the dynamic status of your scaling group in real time and further automates the management of scaling events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221692', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125368', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'InstanceTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance types. The instance types specified by this parameter overwrite the instance types specified in the scaling configuration.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'PriorityStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => '**'."\n" - ."\n" - .'**Warning** This parameter is deprecated. We recommend that you use SpotStrategy.'."\n" - ."\n" - .'The preemption policy that you want to apply to pay-as-you-go instances. The preemption policy specified by this parameter overwrites the preemption policy specified in the scaling configuration. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], - ], - [ - 'name' => 'SystemDiskCategories', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The categories of the system disks. The categories of the system disks specified by this parameter overwrite the categories of the system disks specified in the scaling configuration. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: Enterprise SSD (ESSD).'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", - 'type' => 'array', - 'items' => [ - '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: ESSD.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'ScalingGroupIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - 'required' => false, - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance bidding policy. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding formats have the following meanings:'."\n" + ."\n" + .'* `region-id`: the region ID of the scaling group.'."\n" + .'* `account-id`: the ID of the Alibaba Cloud account.'."\n" + .'* `queuename`: the name of the SMQ queue.'."\n" + .'* `topicname`: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], [ - 'name' => 'VSwitchIds', + 'name' => 'NotificationTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The vSwitch IDs.'."\n" + 'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n" ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image file that provides the image resource for Auto Scaling to create instances.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis****.vhd', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. Each image name must be unique in a region. If you specify ImageId, ImageName is ignored.'."\n" + 'items' => ['description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n" ."\n" - .'You cannot use ImageName to specify an Alibaba Cloud Marketplace image.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ubuntu_18_04_x64_20G_alibase_20231225.vhd', + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'required' => true, + 'maxItems' => 12, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageFamily', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image family. You can specify the ImageFamily request parameter to obtain the most recent available images in the current image family for instance creation. If you specify ImageId, you cannot specify ImageFamily.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CentOS7', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'DataDiskCategories', + 'name' => 'TimeZone', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The disk categories of the data disks. The disk categories that do not match the specified criteria are returned after you call this operation.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_essd', - ], - 'required' => false, - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'MessageEncoding', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses. If the instance type that you specified does meet the requirement for the number of IPv6 addresses, the scaling strength is weak.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The codec for the content of message notifications. Valid values:'."\n" + ."\n" + .'- PlainText: No encoding; messages are transmitted in plaintext.'."\n" + .'- Base64: Messages are encoded in Base64.'."\n" + ."\n" + .'Default value: Base64.'."\n" + .'> This parameter applies only to MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TotalStrength' => [ - 'description' => 'The scaling strength score of the scaling group. Each combination of instance type + zone is scored from 0 to 1 based on its availability, with 0 being the weakest scaling strength and 1 being the strongest. The scaling strength score of the scaling group is measured by the combined scores of all the combinations of instance type + zone.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ElasticStrength' => [ - 'description' => 'The scaling strength level of the scaling group. Valid values:'."\n" - ."\n" - .'* Strong'."\n" - .'* Medium'."\n" - .'* Weak'."\n", - 'type' => 'string', - 'example' => 'Strong', - ], - 'ResourcePools' => [ - 'description' => 'The resource pools.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Strength' => [ - 'description' => 'The scaling strength of the resource pool.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7t.xlarge', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches in the zones of the resource pool.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze0uc933kantv******', - ], - ], - 'Code' => [ - 'description' => 'The error code returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'IMG_NOT_SUPPORTED', - ], - 'Msg' => [ - 'description' => 'The error message returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'The instanceType does not support the image in the configuration.', - ], - 'Status' => [ - 'description' => 'Indicates whether the resource pool is available. Valid values:'."\n" - ."\n" - .'* Available'."\n" - .'* Unavailable (If a constraint is not provided, the instance type is not deployed, or the instance type is out of stock, the resource pool becomes unavailable.)'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'InventoryHealth' => [ - 'description' => 'The inventory health.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'description' => 'The inventory health score.'."\n" - ."\n" - .'* A score between 5 and 6 indicates a sufficient inventory.'."\n" - .'* A score between 1 and 4 indicates that there is no guarantee of a sufficient inventory. Select a reservation as necessary.'."\n" - .'* A score between -3 and 0 indicates that the inventory is sufficient, and an alert is triggered. Select another instance type.'."\n" - ."\n" - .'Calculation formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AdequacyScore' => [ - 'description' => 'The adequacy score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'SupplyScore' => [ - 'description' => 'The replenishment capability score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HotScore' => [ - 'description' => 'The popularity score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - ], - ], - ], - 'description' => '', - ], - ], - 'ElasticStrengthModels' => [ - 'description' => 'The scaling strength models.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-wz98mnj7nblv9gc****', - ], - 'ElasticStrength' => [ - 'description' => 'The scaling strength level of the scaling group. Valid values:'."\n" - ."\n" - .'* Strong'."\n" - .'* Medium'."\n" - .'* Weak'."\n", - 'type' => 'string', - 'example' => 'Strong', - ], - 'TotalStrength' => [ - 'description' => 'The scaling strength score of the scaling group. Each combination of instance type + zone is scored from 0 to 1 based on its availability, with 0 being the weakest scaling strength and 1 being the strongest. The scaling strength score of the scaling group is measured by the combined scores of all the combinations of instance type + zone.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ResourcePools' => [ - 'description' => 'The resource pools.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'ecs.r7.large', - ], - 'Strength' => [ - 'description' => 'The scaling strength of the resource pool.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches in the zones of the resource pool.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze6e8p4******', - ], - ], - 'Code' => [ - 'description' => 'The error code returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => 'The error message returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'description' => 'Indicates whether the resource pool is available. Valid values:'."\n" - ."\n" - .'* Available'."\n" - .'* Unavailable (If a constraint is not provided, the instance type is not deployed, or the instance type is out of stock, the resource pool becomes unavailable.)'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'InventoryHealth' => [ - 'description' => 'The inventory health.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'description' => 'The score of the inventory health.'."\n" - ."\n" - .'* A score between 5 and 6 indicates a sufficient inventory.'."\n" - .'* A score between 1 and 4 indicates that there is no guarantee of a sufficient inventory. Select a reservation as necessary.'."\n" - .'* A score between -3 and 0 indicates that the inventory is sufficient, and an alert is triggered. Select another instance type.'."\n" - ."\n" - .'Calculation formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AdequacyScore' => [ - 'description' => 'The adequacy score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'SupplyScore' => [ - 'description' => 'The score of the replenishment capability.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'HotScore' => [ - 'description' => 'The popularity score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CreateNotificationConfiguration', + 'description' => '- You can configure message notifications to be received by CloudMonitor system events, Message Service (formerly MNS) queues, or Message Service (formerly MNS) topics. When specified scaling events or resource changes occur in a scaling group, automatic scaling notifies CloudMonitor or Message Service (formerly MNS).'."\n" + .'- Different event notifications within the same scaling group cannot share the same accepter.'."\n" + ."\n" + .' For example, different event notifications cannot simultaneously use the same CloudMonitor configuration, the same MNS topic, or the same MNS queue.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"IMG_NOT_SUPPORTED\\",\\n \\"Msg\\": \\"The instanceType does not support the image in the configuration.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n }\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n }\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeElasticStrength', ], 'CreateScalingConfiguration' => [ - 'summary' => 'Creates scaling configurations. When you call the CreateScalingConfiguration operation, you can specify the scaling group ID, instance type, and image to create a scaling configuration of the Elastic Compute Service (ECS) type.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Creates an ECS-type scaling configuration for a scaling group by calling the CreateScalingConfiguration operation and specifying information such as the scaling group ID, instance type, and instance image.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7363,617 +2783,385 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '125374', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to create a 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 Auto Scaling uses to automatically create ECS 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.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], ], [ 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. Each image name must be unique in a region. If you specify ImageId, ImageName is ignored.'."\n" - ."\n" - .'You cannot use ImageName to specify images that are purchased from Alibaba Cloud Marketplace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image****', - ], + 'schema' => ['description' => 'The name of the image file. Image names are unique within a region. If you set ImageId, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'image****', 'title' => ''], ], [ 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the ECS instance. For more information, see the [Instance families](~~25378~~) topic.', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'schema' => ['description' => 'The instance type of the ECS instance. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs.'."\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 determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types 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 zone, and creates instances with the lowest price sorted by price.'."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'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 determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types 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 zone, and creates instances with the lowest price sorted by price.'."\n" + ."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], [ 'name' => 'DeploymentSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set of the ECS instances that are created by using the scaling configuration.'."\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 ECS instances are associated. 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. 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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optimized', - ], + 'schema' => ['description' => 'Specifies whether the instance is an I/O optimized instance. Valid values:'."\n" + ."\n" + .'none: non-I/O optimized instance.'."\n" + .'optimized: I/O optimized instance.'."\n" + ."\n" + .'The default value for retired instance types is none. The default value for other instance types is optimized.', 'type' => 'string', 'required' => false, 'example' => 'optimized', 'title' => ''], ], [ 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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 based on the amount of transferred data. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n" - ."\n" - .'For the classic network, the default value is PayByBandwidth. For VPCs, the default value is 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" + ."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.'."\n" + ."\n" + .'If this parameter is not specified, the default value is PayByBandwidth for the classic network and PayByTraffic for VPCs.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''], ], [ 'name' => 'InternetMaxBandwidthIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10, and the default value is 10.'."\n" - .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the value of `InternetMaxBandwidthOut`, and the default value is the value of `InternetMaxBandwidthOut`.'."\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. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\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 SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'If you specify SystemDisk.Category, you cannot specify `SystemDiskCategories`. If you do not specify SystemDisk.Category or `SystemDiskCategories`, the default value of SystemDisk.Category is used.'."\n" - ."\n" - .'* For I/O optimized instances, the default value is cloud_efficiency.'."\n" - .'* For non-I/O optimized instances, the default value is cloud.'."\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" + ."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + ."\n" + .'- cloud_ssd: standard SSD.'."\n" + ."\n" + .'- ephemeral_ssd: local SSD.'."\n" + ."\n" + .'- cloud_essd: enhanced SSD (ESSD).'."\n" + ."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], ], [ 'name' => 'SystemDisk.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n" - ."\n" - .'* Basic disk: 20 to 500.'."\n" - ."\n" - .'* ESSD (cloud_essd): The valid values vary based on the performance level of the ESSD.'."\n" - ."\n" - .' * PL0 ESSD: 1 to 2048.'."\n" - .' * PL1 ESSD: 20 to 2048.'."\n" - .' * PL2 ESSD: 461 to 2048.'."\n" - .' * PL3 ESSD: 1261 to 2048.'."\n" - ."\n" - .'* ESSD AutoPL disk (cloud_auto): 1 to 2048.'."\n" - ."\n" - .'* Other disk categories: 20 to 2048.'."\n" - ."\n" - .'The value of this parameter must be at least 1 and greater than or equal to the image size.'."\n" - ."\n" - .'Default value: 40 or the size of the image, whichever is larger.'."\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. The name 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 (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], ], [ 'name' => 'SystemDisk.Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the system disk. The description must be 2 to 256 characters in length. The description can contain letters and 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 that is an enhanced SSD (ESSD). Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + ."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + ."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + ."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], ], [ 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique in a region. If you do not specify this parameter, the scaling configuration ID 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 (.). The name must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'The scaling configuration name must be unique within a scaling group in the same region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'example' => 'scalingconfig****', 'title' => ''], ], [ 'name' => 'LoadBalancerWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of an ECS instance as a backend server. 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. Tags must be specified as key-value pairs. 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.'."\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 Key and Value:'."\n" + .' '."\n" + .'- Key can be up to 64 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Key cannot be an empty string.'."\n" + .'- Value can be up to 128 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], ], [ 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the Elastic Compute Service (ECS) instance. The user data must be encoded in Base64 format. The size of raw data before Base64 encoding cannot exceed 32 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs! '."\n", - ], + '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 that you want to use to log on to an ECS instance.'."\n" - ."\n" - .'* Windows instances do not support 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 you attach to the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the ListRoles operation to query the available RAM roles.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ramrole****', - ], + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by Resource Access Management (RAM). You can call ListRoles to query available RAM roles.', 'type' => 'string', 'required' => false, 'example' => 'ramrole****', 'title' => ''], ], [ 'name' => 'SecurityEnhancementStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable security hardening. Valid values:'."\n" - ."\n" - .'* Active: enables security hardening. This value is applicable only to public images.'."\n" - .'* Deactive: disables security hardening. This value is applicable to all image types.'."\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 Auto Scaling creates based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance****', - ], + 'schema' => ['description' => 'The name of the ECS instance that is automatically created by using this scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'instance****', 'title' => ''], ], [ 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the ECS instance. 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 hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type:'."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or be composed entirely of digits.'."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'host****', 'title' => ''], ], [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy that you want to apply to pay-as-you-go 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 in 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 you want to use to log on to an 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" - .'The password of a Windows instance cannot start with a forward slash (/).'."\n" - ."\n" - .'> For security reasons, we recommend that you use HTTPS to send requests if you specify Password.'."\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 avoid password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the ECS instances that are created by using the scaling configuration belong.'."\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 instances that are created by using the scaling configuration belong.'."\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 and 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 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 the "[How to ensure the idempotence of a request](~~25693~~)" topic.'."\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. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of randomly generated IPv6 addresses 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 running pattern of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode.'."\n" + ."\n" + .'- Unlimited: unlimited mode.'."\n" + ."\n" + .'For more information, see the performance mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ 'name' => 'ImageFamily', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image family. If you specify this parameter, the most recent custom images that are available in the specified image family are returned. You can use the images to create instances. If you specify ImageId, you cannot specify ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], + 'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], ], [ 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instance.'."\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 you want to create an ECS instance. You cannot create preemptible instances on dedicated hosts. If you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored.'."\n" - ."\n" - .'You can call the DescribeDedicatedHosts operation to query dedicated host IDs.'."\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 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 an ECS instance on a dedicated host with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not associate the ECS instance with the dedicated host. If you start an ECS instance that was stopped in economical mode and the original dedicated host has insufficient resources, the ECS instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the ECS instance with the dedicated host. If you start an ECS instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the ECS 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 an ECS instance on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not create an ECS instance on a dedicated host.'."\n" - .'* host: creates an ECS instance on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud selects a dedicated host for the ECS instance.'."\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 scheduler 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 start ECS instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool to create ECS 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 are found, Auto Scaling uses the resources in the public pool to start instances. In this case, you do not need to specify PrivatePoolOptions.Id.'."\n" - .'* Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start ECS instances. If the specified private pool is unavailable, Auto Scaling cannot start ECS instances. If you set this parameter to Target, you must specify PrivatePoolOptions.Id.'."\n" - .'* None: no private pool. Auto Scaling does not use the resources in private pools to start ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], + 'schema' => ['description' => 'The private pool option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to use at startup. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches open private pools. If no matching private pool is available, public pool resources are used. You do not need to set the PrivatePoolOptions.Id parameter in this mode.'."\n" + ."\n" + .'- Target: specified mode. A specified private pool is used to start the instance. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID, which means the PrivatePoolOptions.Id parameter is required.'."\n" + ."\n" + .'- None: none mode. Private pools are not used for instance startup.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], ], [ 'name' => 'PrivatePoolOptions.Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The 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 protection 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" + ."\n" + .'- 1: After the instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + .'- 0: After the instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + ."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. We recommend that you select an appropriate protection period based on the expected task execution duration.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'SpotInterruptionBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The interruption mode of the preemptible instance. Set the value to Terminate. The value specifies that the preemptible instance is to be released.'."\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' => 'The instance types. If you specify InstanceTypes, InstanceType is ignored.'."\n" + 'description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\n" ."\n" - .'Auto Scaling creates instances based on a priority list of instance types. If it fails to create instances using the highest-priority type, it automatically moves to the next type in the priority order.'."\n", + .'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.', 'type' => 'array', - 'items' => [ - 'description' => 'The instance type. If you specify InstanceTypes, InstanceType is ignored.'."\n" - ."\n" - .'Auto Scaling creates instances based on a priority list of instance types. If it fails to create instances using the highest-priority type, it automatically moves to the next type in the priority order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'items' => ['description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\n" + ."\n" + .'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -7981,52 +3169,45 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about instance types.'."\n", + 'description' => 'The information about the specified instance types.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the specified instance type.'."\n", + 'description' => 'The information about the specified instance types.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'If you want to scale instances in the scaling group based on the weight of an instance type, you must specify this property and WeightedCapacity.'."\n" - ."\n" - .'The instance type specified by using this parameter overwrites the instance type of the launch template. You can specify N instance types by using the Extend Launch Template feature. You can specify 1 to 10 memory sizes, indicated by N.'."\n" - ."\n" - .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" - ."\n" - .'You can use this parameter to specify any instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'If you need to specify the capacity of the instance type in the scaling configuration, you must specify this parameter after you specify InstanceTypeOverrides.InstanceType.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and memory size vary with each instance type. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'For example:'."\n" - ."\n" - .'* Current capacity: 0.'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4.'."\n" - ."\n" - .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" - ."\n" - .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'InstanceType' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify both this parameter and WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies ECS instance type and overrides ECS instance type in the launch template. You can specify N instance types to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'Valid values of InstanceType: instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want to specify the capacity of instance types in the scaling configuration, specify this parameter after you specify InstanceTypeOverrides.InstanceType.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in the number of vCPUs, memory size, and other performance metrics, you can configure different weights for different instance types based on your requirements.'."\n" + ."\n" + .' Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -8034,170 +3215,109 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The data disks.'."\n", + 'description' => 'The collection of data cloud disk information.', 'type' => 'array', 'items' => [ - 'description' => 'The data disk.'."\n", + 'description' => 'The collection of data cloud disk information.', 'type' => 'object', 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of the data disk that is an ESSD. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSD](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to the data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of the data disk. The description must be 2 to 256 characters in length. The description can contain letters and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk. '."\n", - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disks. If you specify this parameter, DataDisks.Size is ignored. The size of the data disk is the same as the size of the specified snapshot.'."\n" - ."\n" - .'If you specify a snapshot that is 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 disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether to encrypt the data cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the data cloud disk.'."\n" + .'- false: does not encrypt the data cloud disk.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If this parameter is specified, DataDisks.Size is ignored, and the size of the created disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-280s7****', 'title' => ''], 'Categories' => [ - 'description' => 'The categories of the data disks. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. For a basic disk that is created together with the instance, DeleteWithInstance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" + 'description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" ."\n" - .'> If you specify Categories, you cannot specify `DataDisks.Category`.'."\n", + .'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.', 'type' => 'array', - 'items' => [ - 'description' => 'The category of the data disk. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. For a basic disk that is created together with the instance, DeleteWithInstance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> If you specify Categories, you cannot specify `DataDisks.Category`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GiB. Valid values:'."\n" - ."\n" - .'* If you set Categories to cloud: 5 to 2000.'."\n" - .'* If you set Categories to cloud_efficiency: 20 to 32768.'."\n" - .'* If you set Categories to cloud_essd: 20 to 32768.'."\n" - .'* If you set Categories to ephemeral_ssd: 5 to 800.'."\n" + 'items' => ['description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" ."\n" - .'The size of the data disk must be greater than or equal to the size of the snapshot that is specified by SnapshotId.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of the data disk. If you do not specify Device, a mount target is automatically assigned when Auto Scaling creates ECS instances. The names of mount targets range from /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdb', - ], - 'DiskName' => [ - '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_ssdData', - ], - 'Category' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - .'* ephemeral_ssd: local SSD'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'If you specify this parameter, you cannot specify Categories. If you do not specify Category or Categories, the default value of Category is used.'."\n" - ."\n" - .'* For I/O optimized instances, the default value is cloud_efficiency.'."\n" - .'* For non-I/O optimized instances, the default value is cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release the data disk when the instance to which the data disk is attached is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'This parameter is available only for independent disks whose value of Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd. 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 KMS key that you want to use to encrypt the data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - '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 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 the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only if you set `SystemDisk.Category` to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'If this parameter is specified, the disk size must be greater than or equal to the snapshot size (the snapshot is specified by SnapshotId).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the mount point is allocated by the system by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of the data cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'This parameter cannot be specified together with DataDisk.Categories. If neither this parameter nor DataDisk.Categories is specified, the default value is used:'."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether to release the data cloud disk when the instance is released. Valid values:'."\n" + ."\n" + .'- true: releases the data cloud disk when the instance is released.'."\n" + .'- false: retains the data cloud disk when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisks.Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd). Otherwise, an error is returned.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metric of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read/write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enables the feature.'."\n" + .'- false: does not enable the feature. '."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'<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' => 16, + 'title' => '', + 'example' => '', ], ], [ @@ -8205,30 +3325,23 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The billing information of the spot instances.'."\n", + 'description' => 'The collection of billing information for spot instances.', 'type' => 'array', 'items' => [ - 'description' => 'The billing information of the spot instance.'."\n", + 'description' => 'The collection of billing information for spot instances.', 'type' => 'object', 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of the spot instances. This parameter takes effect only if you set SpotStrategy to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the spot instances. This parameter takes effect only if you set SpotStrategy to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ @@ -8236,20 +3349,17 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the security groups with which you want to associate the ECS instances that are created by using the scaling configuration. For more information, see the "Security group limits" section of the "[Limits](~~25412~~)" topic.'."\n" + 'description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n" ."\n" - .'> If you specify SecurityGroupId, you cannot specify SecurityGroupIds.'."\n", + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group with which you want to associate the ECS instance that is created by using the scaling configuration. For more information, see the "Security group limits" section of the "[Limits](~~25412~~)" topic.'."\n" - ."\n" - .'> If you specify SecurityGroupId, you cannot specify SecurityGroupIds.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - ], + 'items' => ['description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n" + ."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], 'required' => false, 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ @@ -8257,302 +3367,195 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The intelligent configuration settings, which determine the available instance types.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'array', 'items' => [ - 'description' => 'The intelligent configuration setting, which determines the available instance types.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'object', 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs per instance type in intelligent configuration mode. You can specify this parameter to filter the available instance types. For more information, see [Overview of instance families](~~25378~~).'."\n" - ."\n" - .'Take note of the following items:'."\n" - ."\n" - .'* InstancePatternInfos applies only to scaling groups that reside in virtual private clouds (VPCs).'."\n" - .'* If you specify InstancePatternInfos, you must also specify InstancePatternInfos.Cores and InstancePatternInfos.Memory.'."\n" - .'* If you specify InstanceType or InstanceTypes, Auto Scaling preferentially uses the instance type specified by InstanceType or InstanceTypes to create instances during scale-out events. If the specified instance type has insufficient inventory, Auto Scaling uses the lowest-priced instance type specified by InstancePatternInfos to create instances during scale-out events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family. You can specify this parameter to match the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry-level (shared instance types). Instance types of this level are the most cost-effective but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise-level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit entry-level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price of pay-as-you-go or preemptible instances in intelligent configuration mode. You can specify this parameter to filter the available instance types.'."\n" - ."\n" - .'> If you set SpotStrategy to SpotWithPriceLimit, you must specify this parameter. In other cases, this parameter is optional.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size per instance type in intelligent configuration mode. Unit: GiB. You can specify this parameter to filter the available instance types.'."\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~~).'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfos parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfos.Cores and InstancePatternInfos.Memory for the InstancePatternInfos parameter.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. If the specified instance types are out of stock, Auto Scaling uses the instance type with the lowest price among the instance types that match the InstancePatternInfos parameter values for scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but cannot guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources, and are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These instance types use CPU credits to ensure computing performance and are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], 'ExcludedInstanceTypes' => [ - 'description' => 'The instance types that you want to exclude. You can use an asterisk (\\*) as a wildcard character to exclude an instance type or an instance family. Examples:'."\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 the c6 instance family.'."\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 type that you want to exclude. You can use an asterisk (\\*) as a wildcard character 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", - '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" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], 'Architectures' => [ - 'description' => 'The architecture types of the instance types. Valid values:'."\n" + 'description' => 'The architecture types of the instance type. Valid values:'."\n" ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n" + .'- 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" - .'By default, all values are selected.'."\n", + .'Default value: all architecture types are included.', 'type' => 'array', - 'items' => [ - 'description' => 'The architecture type of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n" - ."\n" - .'By default, all values are selected.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" ."\n" - .'* Exclude: excludes burstable instance types.'."\n" - .'* Include: includes burstable instance types.'."\n" - .'* Required: includes only burstable instance types.'."\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: 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" + ."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], 'InstanceTypeFamilies' => [ - 'description' => 'The instance families that you want to specify. You can specify up to 10 instance families in each call.'."\n", + '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 family that you want to specify. You can specify up to 10 instance families in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6', - ], + 'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], 'required' => false, 'maxItems' => 20, 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'MinimumCpuCoreCount' => [ - 'description' => 'The minimum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MaximumCpuCoreCount' => [ - 'description' => 'The maximum number of vCPUs per instance type.'."\n" - ."\n" - .'> The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], 'GpuSpecs' => [ - 'description' => 'The GPU models.'."\n", + 'description' => 'The GPU type.', 'type' => 'array', - 'items' => [ - 'description' => 'The GPU model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NVIDIA V100', - ], + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], 'required' => false, 'maxItems' => 20, 'minItems' => 0, + 'title' => '', + 'example' => '', ], 'InstanceCategories' => [ - 'description' => 'The categories of the instance types. Valid values:'."\n" + 'description' => 'The instance categorization. Valid values:'."\n" ."\n" - .'> You can specify up to 10 categories.'."\n" + .'> N specifies that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n" ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type that uses local SSDs.'."\n" - .'* High Clock Speed: instance type that has high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", + .'- General-purpose: general-purpose'."\n" + .'- Compute-optimized: compute-optimized'."\n" + .'- Memory-optimized: memory-optimized'."\n" + .'- Big data: big data'."\n" + .'- Local SSDs: local SSD'."\n" + .'- High Clock Speed: high frequency'."\n" + .'- Enhanced: enhanced'."\n" + .'- Shared: shared'."\n" + .'- Compute-optimized with GPU: GPU computing'."\n" + .'- Visual Compute-optimized: visual compute-optimized'."\n" + .'- Heterogeneous Service: heterogeneous service'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n" + .'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n" + .'- High Performance Compute: high-performance computing (HPC)', 'type' => 'array', - 'items' => [ - 'description' => 'The category of the instance type. Valid values:'."\n" - ."\n" - .'> You can specify up to 10 categories.'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type that uses local SSDs.'."\n" - .'* High Clock Speed: instance type that has high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute-optimized with GPU', - ], + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N specifies that you can set multiple instance type categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose'."\n" + .'- Compute-optimized: compute-optimized'."\n" + .'- Memory-optimized: memory-optimized'."\n" + .'- Big data: big data'."\n" + .'- Local SSDs: local SSD'."\n" + .'- High Clock Speed: high frequency'."\n" + .'- Enhanced: enhanced'."\n" + .'- Shared: shared'."\n" + .'- Compute-optimized with GPU: GPU computing'."\n" + .'- Visual Compute-optimized: visual compute-optimized'."\n" + .'- Heterogeneous Service: heterogeneous service'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n" + .'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n" + .'- High Performance Compute: high-performance computing (HPC)', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], 'required' => false, 'maxItems' => 20, 'minItems' => 0, + 'title' => '', + 'example' => '', ], 'CpuArchitectures' => [ - 'description' => 'The CPU architectures of the instance types. Valid values:'."\n" + 'description' => 'The CPU architectures of the instance. Valid values:'."\n" ."\n" - .'> You can specify up to two CPU architectures.'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" ."\n" - .'* x86'."\n" - .'* Arm'."\n", + .'- X86.'."\n" + .'- ARM.', 'type' => 'array', - 'items' => [ - 'description' => 'The CPU architecture of the instance type. Valid values:'."\n" - ."\n" - .'> You can specify up to two CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* Arm'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], + 'items' => ['description' => 'The CPU architectures of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, 'maxItems' => 20, 'minItems' => 0, + 'title' => '', + 'example' => '', ], 'PhysicalProcessorModels' => [ - 'description' => 'The processor models of the instance types. You can specify up to 10 processor models.'."\n", + 'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n" + .'[_single.params', 'type' => 'array', - 'items' => [ - 'description' => 'The processor model of the instance type. You can specify up to 10 processor models.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', - ], + 'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n" + .'[_single.params', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], 'required' => false, 'maxItems' => 20, 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MinimumInitialCredit' => [ - 'description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], - 'MinimumBaselineCredit' => [ - 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], - 'MinimumMemorySize' => [ - 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'MaximumMemorySize' => [ - 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'MinimumGpuAmount' => [ - 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MaximumGpuAmount' => [ - 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that can be attached to an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance of burstable instances (t5 and t6), which is the sum of all vCPUs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ @@ -8560,185 +3563,135 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category 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" + 'description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" ."\n" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", + .'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.', 'type' => 'array', - 'items' => [ - 'description' => 'The category of the system disk. If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category 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" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], + 'items' => ['description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'SystemDisk.Encrypted', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\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 you want to use 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 for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], ], [ 'name' => 'SystemDisk.EncryptAlgorithm', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption algorithm that you want to use 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 for the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256'."\n" + .'- SM4-128'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], ], [ 'name' => 'SystemDisk.ProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The IOPS metric that is preconfigured 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 metrics for the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'SystemDisk.BurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only if you set `SystemDisk.Category` 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: 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' => 'ImageOptions.LoginAsNonRoot', 'in' => 'query', - 'schema' => [ - '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](~~388447~~). Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\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.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable release protection for the instance. This parameter specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, which prevents the instance from being accidentally deleted. Valid values:'."\n" + ."\n" + .'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'Default value: false.'."\n" + .'> This property applies only to pay-as-you-go instances. It prevents instances created by Auto Scaling scale-out activities from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'StorageSetId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ss-bp67acfmxazb4p****', - ], + 'schema' => ['description' => 'The ID of the dedicated block storage cluster.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], ], [ 'name' => 'StorageSetPartitionNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The maximum number of partitions in the dedicated block storage cluster. Valid values: greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'CustomPriorities', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The priority of the custom ECS instance type + vSwitch combination.'."\n" - ."\n" - .'> This parameter takes effect only when Scaling Policy of the scaling group is set to Priority Policy.'."\n" + 'description' => 'The custom priorities for ECS instance type and vSwitch combinations.'."\n" + .'><notice>This parameter takes effect only when the scaling policy of the scaling group is set to priority-based policy.></notice>'."\n" ."\n" - .'If Auto Scaling cannot create ECS instances by using the custom ECS instance type + vSwitch combination of the highest priority, Auto Scaling creates ECS instances by using the custom ECS instance type + vSwitch combination of the next highest priority.'."\n" + .'If an instance cannot be created based on the instance type and vSwitch combination with a higher priority, Auto Scaling automatically selects the combination with the next priority to create the instance.'."\n" ."\n" - .'> If you specify the priorities of only partial custom ECS instance type + vSwitch combinations, Auto Scaling preferentially creates ECS instances by using the custom combinations that have specified priorities. If the custom combinations that have specified priorities do not provide sufficient resources, Auto Scaling creates ECS instances by using the custom combinations that do not have specified priorities based on the specified orders of vSwitches and instance types.'."\n" - ."\n" - .'* Example: the specified order of vSwitches for your scaling group is vsw1 and vsw2 and the specified order of instance types in your scaling configuration is type1 and type 2. In addition, you use CustomPriorities to specify \\["vsw2+type2", "vsw1+type2"]. In this example, the vsw2+type2 combination has the highest priority and the vsw2+type1 combination has the lowest priority. The vsw1+type2 combination has a higher priority than the vsw1+type1 combination.'."\n", + .'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration.'."\n" + .'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'The ECS instance type.'."\n" - ."\n" - .'> The ECS instance type must be included in the instance types specified in the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'VswitchId' => [ - 'description' => 'The vSwitch ID.'."\n" - ."\n" - .'> The vSwitch must be included in the vSwitch list of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + ."\n" + .'><notice>The instance type must be included in the instance type list of the scaling configuration.></notice>', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + ."\n" + .'><notice>The vSwitch must be included in the vSwitch list of the scaling group.></notice>', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ @@ -8746,4643 +3699,2796 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The list of elastic network interfaces (ENIs).', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The elastic network interface (ENI).', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Primary', - ], - 'NetworkInterfaceTrafficMode' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'HighPerformance', - ], - 'Ipv6AddressCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). If you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary NIC.'."\n" + ."\n" + .'- Secondary: secondary NIC.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + ."\n" + .'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI.'."\n" + .'Note:'."\n" + ."\n" + .'- This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n" + ."\n" + .'- After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], 'SecurityGroupIds' => [ - 'description' => '', + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-uf6ij8dwxxxxxx', - ], + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.'."\n" + .'Note:'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary network interface controller (NIC).', 'type' => 'string', 'required' => false, 'example' => 'sg-uf6ij8dwxxxxxx', 'title' => ''], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the limit on the number of IP addresses for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'DedicatedHostClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dc-2zedxc67zqzt7lb4****', - ], + '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' => '', + 'description' => 'The security options.', 'type' => 'object', 'properties' => [ - 'ConfidentialComputingMode' => [ - 'description' => 'The confidential computing mode. Valid values:'."\n" - ."\n" - .'* Enclave: An enclave-based confidential computing environment is built on the instance. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" - .'* TDX: A Trust Domain Extensions (TDX) confidential computing environment is built on the instance. For more information, see [Build a TDX confidential computing environment](~~479090~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TDX', - ], + 'ConfidentialComputingMode' => ['description' => 'The confidential computing pattern. Valid values:'."\n" + .'- Enclave: indicates that the ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: indicates that a TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'HttpEndpoint', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" - ."\n" - .'* enabled'."\n" - .'* disabled'."\n" - ."\n" - .'Default value: enabled.'."\n" - ."\n" - .'> For information about instance metadata, see [Obtain instance metadata](~~108460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'enabled', - ], + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], [ 'name' => 'HttpTokens', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly use the security hardening mode (IMDSv2) to access instance metadata. Valid values:'."\n" - ."\n" - .'* optional: does not forcibly use the security hardening mode (IMDSv2).'."\n" - .'* required: forcibly uses the security hardening mode (IMDSv2). If you set this parameter to required, you cannot access instance metadata in normal mode.'."\n" - ."\n" - .'Default value: optional.'."\n" - ."\n" - .'> For more information about instance metadata access modes, see [Access modes of instance metadata](~~108460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optional', - ], + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when accessing instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Does not forcefully use.'."\n" + .'- required: Forcefully uses. After this value is set, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], [ 'name' => 'ResourcePoolOptions', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The resource pools used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. When you specify this parameter, take note of the following items:'."\n" + 'description' => 'The resource pool policy used when creating instances. After you specify this parameter, note the following items:'."\n" ."\n" - .'* This parameter takes effect only when you create pay-as-you-go instances.'."\n" - .'* If you specify this parameter, you cannot specify PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.'."\n", + .'- This parameter takes effect only when pay-as-you-go instances are created.'."\n" + ."\n" + .'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', 'type' => 'object', 'properties' => [ - 'Strategy' => [ - 'description' => 'The resource pool used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. Valid values:'."\n" - ."\n" - .'* PrivatePoolFirst: prioritizes private pools. When this option is set along with ResourcePoolOptions.PrivatePoolIds, the specified private pools are used first. If you leave ResourcePoolOptions.PrivatePoolIds empty or if the specified private pools lack sufficient capacity, the system will automatically use available open private pools instead. If no matching private pools are available, the system defaults to the public pool.'."\n" - .'* PrivatePoolOnly: uses only private pools. If you set this value, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pools lack sufficient capacity, instance creation will fail.'."\n" - .'* None: uses no resource pools.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PrivatePoolFirst', - ], + 'Strategy' => ['description' => 'The resource pool includes private pools generated after the elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. If ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. You must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. If the public pool has insufficient resources, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This policy is in invitational preview and is not available for use.)'."\n" + ."\n" + .'- None: does not use a resource pool policy.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], 'PrivatePoolIds' => [ - 'description' => 'The IDs of private pools. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation that is associated with the private pool. You can specify the IDs of only targeted private pools for this parameter.'."\n", + 'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', 'type' => 'array', 'items' => [ - 'description' => '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 that is associated with the private pool. You can specify the ID of only a targeted private pool for this parameter. You can specify 1 to 20 private pools.'."\n", - 'type' => 'string', + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], 'required' => false, - 'example' => 'eap-bp67acfmxazb4****', + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'InstanceTypeCandidateOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, the system supplements similar instance types of the same size based on the currently selected instance types, or creates vSwitches in alternative zones and adds them to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.10', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n" + .'> The instance type remains unchanged. Only new zones are used as alternatives. When all selected zones of the scaling group cannot be used for scale-out due to issues such as insufficient inventory, the system automatically adds a new vSwitch in a new zone to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks for vSwitches that can be supplemented in other zones.', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch CIDR block must meet the following requirements:'."\n" + ."\n" + .'- The mask length of the vSwitch CIDR block must be 16 to 29 bits.'."\n" + .'- The vSwitch CIDR block must be a subset of the CIDR block of the VPC to which the vSwitch belongs.'."\n" + .'- The vSwitch CIDR block cannot be the same as the destination CIDR block of a route entry in the VPC, but can be a subset of the destination CIDR block.'."\n" + .'- The vSwitch CIDR block cannot be 100.64.0.0/10 or its subnets.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information that is returned.'."\n", + 'description' => 'The information about the created scaling configuration.', '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 ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateScalingConfiguration', - 'description' => 'Auto Scaling automatically creates Elastic Compute Service (ECS) instances based on the specified scaling configuration. ECS instances can be created in the following modes:'."\n" + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'Create an eCS-type scaling configuration', + 'description' => 'A scaling configuration specifies the ECS instance template used for elastic scale-out. The following instance configuration methods are supported:'."\n" ."\n" - .'* InstancePatternInfos: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. Auto Scaling selects the instance type that has the lowest price based on the configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode reduces scale-out failures caused by insufficient inventory of instance types.'."\n" - .'* InstanceType: In this mode, you must specify one instance type.'."\n" - .'* InstanceTypes: In this mode, you can specify more than one instance type.'."\n" - .'* InstanceTypeOverrides: In this mode, you can specify multiple instance types and 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 the range of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling creates ECS instances by using the lowest-priced instance type. This mode is available only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n" + .'- InstancePatternInfos: intelligent configuration mode. You do not need to specify specific instance types. Instead, you specify the number of vCPU cores, memory size, instance family level, and maximum price based on your business requirements. The system automatically filters instance types that meet the requirements and preferentially selects the instance type with the lowest price to create ECS instances. This mode applies only to scaling groups whose network type is VPC and can effectively reduce the risk of insufficient inventory of instance types during scale-out.'."\n" ."\n" - .'> You cannot specify InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory at the same time. You can specify InstanceType and InstancePatternInfos or specify InstanceTypes and InstancePatternInfo at the same time. If you specify InstanceType and InstancePatternInfos or specify InstanceTypes and InstancePatternInfos at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes for scale-outs. If the instance types that are specified by InstanceType or InstanceTypes do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfos for scale-outs.'."\n", - ], - 'DescribeScalingConfigurations' => [ - 'summary' => 'Queries scaling configurations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- InstanceType: specifies a single instance type.'."\n" + ."\n" + .'- InstanceTypes: specifies multiple instance types.'."\n" + ."\n" + .'- InstanceTypeOverrides: specifies multiple instance types and configures weights for different instance types.'."\n" + ."\n" + .'- Cpu and Memory: specifies the range of instance types by defining CPU and memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price. This method applies only when the scaling policy of the scaling group is cost optimization and no instance type is specified in the scaling configuration.'."\n" + ."\n" + .'- You can bind a primary network interface card (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned.'."\n" + .' - Use parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount to directly configure the primary NIC.'."\n" + .' - Use NetworkInterfaces to configure both the primary NIC and secondary NICs. When you use the NetworkInterface parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified at the same time. However, InstanceType or InstanceTypes can be specified together with InstancePatternInfos. When specified together with InstancePatternInfos, Auto Scaling preferentially uses the instance types you specified for scale-out. If the specified instance types are out of stock, instance types that match the InstancePatternInfos configuration are used.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateScalingGroup' => [ + 'summary' => 'Call the `CreateScalingGroup` API to create a scaling group. The group automatically adjusts your computing capacity (the number of instances) by scaling instances of a specified type in or out based on your business requirements and scaling policies.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '133422', - 'abilityTreeNodes' => [ - 'FEATUREessVYTHU5', - ], + 'abilityTreeCode' => '125385', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], 'parameters' => [ [ + 'name' => 'ScalingGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within a region.'."\n" + ."\n" + .'The name must be 2 to 64 characters in length. It must start with a letter, a digit, or a Chinese character and can contain digits, underscores (\\_), hyphens (-), and periods (.).'."\n" + ."\n" + .'If you do not specify this parameter, the value of `ScalingGroupId` is used.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template that provides the configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7**** ', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A specific version number of the template.'."\n" + ."\n" + .'- `Default`: Uses the default version of the template.'."\n" + ."\n" + .'- `Latest`: Uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of an existing instance to use as a template. Auto Scaling uses this instance to create a new scaling configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling configuration that you want to query belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group. If the total number of instances falls below this value, Auto Scaling adds instances to meet this minimum.'."\n" + ."\n" + .'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. If the total number of instances exceeds this value, Auto Scaling removes instances to meet this maximum.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="partner">'."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'If the quota for **Maximum number of instances per scaling group** is 2,000, the value of `MaxSize` can range from 0 to 2,000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DefaultCooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], + 'schema' => ['description' => 'The cooldown period, in seconds, after a scaling activity completes. Valid values: 0 to 86400.'."\n" + ."\n" + .'During the cooldown period, the scaling group does not execute other scaling activities that are triggered by CloudMonitor alarm tasks.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationIds', + 'name' => 'LoadBalancerIds', '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.'."\n", - 'type' => 'array', - 'items' => [ - '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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'A JSON array of Classic Load Balancer (CLB) instance IDs.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="partner">'."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationNames', + 'name' => 'DBInstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array of RDS instance IDs.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="partner">'."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicies', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The names of the scaling configurations that you want to query.'."\n" + 'description' => 'The instance removal policies. Valid values:'."\n" ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", + .'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n" + ."\n" + .'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n" + ."\n" + .'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n" + ."\n" + .'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n" + ."\n" + .'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n" + ."\n" + .'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).', 'type' => 'array', - 'items' => [ - 'description' => 'The names of the scaling configurations that you want to query.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingcon**** '."\n", - ], + 'items' => ['description' => 'The instance removal policies. Valid values:'."\n" + ."\n" + .'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n" + ."\n" + .'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n" + ."\n" + .'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n" + ."\n" + .'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n" + ."\n" + .'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n" + ."\n" + .'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], 'required' => false, - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingConfigurations' => [ - 'description' => 'The scaling configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scaling configuration.'."\n", - 'type' => 'object', - 'properties' => [ - 'DeploymentSetId' => [ - 'description' => 'The ID of the deployment set to which the Elastic Compute Service (ECS) instances belong.'."\n", - 'type' => 'string', - 'example' => 'ds-bp1frxuzdg87zh4p****', - ], - 'CreationTime' => [ - 'description' => 'The time at which the scaling configuration was created.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'ScalingConfigurationName' => [ - 'description' => 'The name of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => '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 created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'keypair****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group to which the ECS instances belong. ECS instances that belong to the same security group can communicate with each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'PrivatePoolOptions.Id' => [ - 'description' => 'The ID of the private pool, which 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. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - 'Affinity' => [ - 'description' => 'Indicates whether the ECS 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. If you restart 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: The instance is associated with the dedicated host. If you restart an instance that was stopped in Economical Mode, the instance remains on the original dedicated host. If the available resources of the original dedicated host are insufficient, the instance cannot be restarted.'."\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, the system selects a dedicated host for the ECS instance.'."\n" - ."\n" - .'Default value: default.'."\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 protection period of the preemptible instances. 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 scaling configuration that is in the Active state to create ECS instances during scale-out events.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create ECS instances during scale-out events.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'InstanceName' => [ - 'description' => 'The naming series of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'instance****', - ], - 'SecurityEnhancementStrategy' => [ - 'description' => 'Indicates whether Security Hardening is enabled. Valid values:'."\n" - ."\n" - .'* Active: Security Hardening is enabled. This value is applicable to only public images.'."\n" - .'* Deactive: Security Hardening is disabled. This value is applicable to all images.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'UserData' => [ - 'description' => 'The user data of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'echo hello ecs! '."\n", - ], - '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 specify 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. Preemptible instances are not supported by dedicated hosts. Therefore, if you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored.'."\n" - ."\n" - .'You can call the DescribeDedicatedHosts operation to query the IDs of dedicated hosts.'."\n", - 'type' => 'string', - 'example' => 'dh-bp67acfmxazb4p****', - ], - 'InstanceGeneration' => [ - 'description' => 'The generation of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'ecs-3', - ], - 'HpcClusterId' => [ - 'description' => 'The ID of the High Performance Computing (HPC) cluster to which the ECS instances belong.'."\n", - 'type' => 'string', - 'example' => 'hpc-clus****', - ], - 'PasswordInherit' => [ - 'description' => 'Indicates whether the password preconfigured in the image is used.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'ImageId' => [ - 'description' => 'The ID of the image file that provides the image resource for Auto Scaling to create ECS 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 latest available images in the current image family for instance creation. If you specify ImageId, you cannot specify `ImageFamily`.'."\n", - 'type' => 'string', - 'example' => 'hangzhou-daily-update', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The image source. Valid values:'."\n" - ."\n" - .'* system: a public image provided by Alibaba Cloud'."\n" - .'* self: a custom image that you created'."\n" - .'* others: a shared image from another Alibaba Cloud account or a community image published by another Alibaba Cloud account'."\n" - .'* marketplace: an 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: enterprise SSD (ESSD)'."\n" - .'* cloud_auto: ESSD AutoPL'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'HostName' => [ - 'description' => 'The hostname series of the ECS instances.'."\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", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InternetMaxBandwidthIn' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'InstanceType' => [ - 'description' => 'The instance types of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'InstanceDescription' => [ - 'description' => 'The description of the ECS instances.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - 'IoOptimized' => [ - 'description' => 'Indicates whether the ECS instances are I/O optimized. Valid values:'."\n" - ."\n" - .'* none: The ECS instances are not I/O optimized.'."\n" - .'* optimized: The ECS instances are I/O optimized.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'RamRoleName' => [ - 'description' => 'The name of the Resource Access Management (RAM) role assumed by the ECS instances. This name is provided and maintained by RAM. You can call the ListRoles operation to query the available 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 CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the ECS instances belong.'."\n", - 'type' => 'string', - 'example' => 'rg-aekzn2ou7xo****', - ], - 'ZoneId' => [ - 'description' => 'The ID of the zone in which the ECS instances are created. You can call the DescribeZones operation to query the zone IDs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'InternetChargeType' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth. You are charged for the bandwidth that you specified by using InternetMaxBandwidthOut.'."\n" - .'* PayByTraffic: pay-by-traffic. You are charged for the actual traffic that you used. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'ImageName' => [ - 'description' => 'The name of the image file.'."\n", - 'type' => 'string', - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd '."\n", - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ezrfgoyn5kijl****', - ], - 'CreditSpecification' => [ - 'description' => 'The performance mode of the burstable instances. Valid values:'."\n" - ."\n" - .'* Standard: the standard mode. For more information, see the "Standard mode" section in the [Overview of burstable instances](~~59977~~) topic.'."\n" - .'* Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section in [Overview of burstable instances](~~59977~~).'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'SpotInterruptionBehavior' => [ - 'description' => 'The interruption event of the preemptible instances.'."\n", - 'type' => 'string', - 'example' => 'Terminate', - ], - 'CustomPriorities' => [ - 'description' => 'The priority of the custom ECS instance type + vSwitch combination.'."\n" - ."\n" - .'> This parameter takes effect only when Scaling Policy of the scaling group is set to Priority Policy.'."\n" - ."\n" - .'If Auto Scaling cannot create ECS instances by using the custom ECS instance type + vSwitch combination of the highest priority, Auto Scaling creates ECS instances by using the custom ECS instance type + vSwitch combination of the next highest priority.'."\n" - ."\n" - .'> If you specify the priorities of only a portion of custom ECS instance type + vSwitch combinations, Auto Scaling preferentially creates ECS instances by using the custom combinations that have specified priorities. If the custom combinations that have specified priorities do not provide sufficient resources, Auto Scaling creates ECS instances by using the custom combinations that do not have specified priorities based on the specified orders of vSwitches and instance types.'."\n" - ."\n" - .'* Example: the specified order of vSwitches for your scaling group is vsw1 and vsw2 and the specified order of instance types in your scaling configuration is type1 and type 2. In addition, you use CustomPriorities to specify \\["vsw2+type2", "vsw1+type2"]. In this example, the vsw2+type2 combination has the highest priority and the vsw2+type1 combination has the lowest priority. The vsw1+type2 combination has a higher priority than the vsw1+type1 combination.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.c6a.4xlarge', - ], - 'VswitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp14zolna43z266bq****'."\n", - ], - ], - ], - ], - 'DataDisks' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the data disks.'."\n", - '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 based on which the data disk is created.'."\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: GB. Valid values:'."\n" - ."\n" - .'* 5 to 2000 if you set Category to cloud.'."\n" - .'* 20 to 32768 if you set Category to cloud_efficiency.'."\n" - .'* 20 to 32768 if you set Category to cloud_ssd.'."\n" - .'* 20 to 32768 if you set Category to cloud_essd.'."\n" - .'* 5 to 800 if you set Category to ephemeral_ssd.'."\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 created along with the ECS 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.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is applied to the data disk.'."\n", - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'DeleteWithInstance' => [ - 'description' => 'Indicates whether the data disk is released when the instance to which the data disk is attached is released. 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" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'Categories' => [ - 'description' => 'The categories of the data disks. The values are sorted based on their priorities. The first value has the highest priority. 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 created along with the ECS 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 category of the data disk. The values are sorted based on their priorities. The first value has the highest priority. 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 created along with the ECS instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n", - 'type' => 'string', - 'example' => 'cloud_essd', - ], - ], - 'ProvisionedIops' => [ - 'description' => 'The provisioned IOPS of 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 Performance Burst feature is enabled for the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only when you set `DataDisk.Category` to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - 'Tags' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the ECS instance. You can specify up to 20 tags for each ECS instance.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'binary', - ], - 'Value' => [ - 'description' => 'The tag value of the ECS instance. You can specify up to 20 tags for each ECS instance.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'alterTable', - ], - ], - ], - ], - 'SpotPriceLimits' => [ - 'description' => 'The preemptible instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the preemptible instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the preemptible instances.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large '."\n", - ], - 'PriceLimit' => [ - 'description' => 'The price limit of the preemptible instances.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.125 '."\n", - ], - ], - ], - ], - 'InstancePatternInfos' => [ - 'description' => 'The intelligent configuration settings, which determine the available instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The intelligent configuration setting, which determines the available instance types.'."\n", - 'type' => 'object', - 'properties' => [ - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for the pay-as-you-go or preemptible instances.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs of the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size of the instance type. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family.'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'Architectures' => [ - 'description' => 'The architectures of instance types. Valid values:'."\n" - ."\n" - .'* X86: x86.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The architecture of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n", - '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.'."\n", - 'type' => 'string', - 'example' => 'Include', - ], - 'ExcludedInstanceTypes' => [ - '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.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type that is 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.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - ], - 'InstanceTypeFamilies' => [ - 'description' => 'The instance families that are queried. You can query 1 to 10 instance families in each call.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance family that is queried. You can query 1 to 10 instance families in each call.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6', - ], - ], - 'MinimumCpuCoreCount' => [ - 'description' => 'The minimum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaximumCpuCoreCount' => [ - 'description' => 'The maximum number of vCPUs per instance type.'."\n" - ."\n" - .'> The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'GpuSpecs' => [ - 'description' => 'The GPU models.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The GPU model.'."\n", - 'type' => 'string', - 'example' => 'NVIDIA V100', - ], - ], - 'InstanceCategories' => [ - 'description' => 'The categories of ECS instances. Valid values:'."\n" - ."\n" - .'> Up to 10 categories of ECS instances are supported.'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type with local SSDs.'."\n" - .'* High Clock Speed: instance type with high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the ECS instance. Valid values:'."\n" - ."\n" - .'> Up to 10 categories of ECS instances are supported.'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type with local SSDs.'."\n" - .'* High Clock Speed: instance type with high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'string', - 'example' => 'Compute-optimized with GPU', - ], - ], - 'CpuArchitectures' => [ - 'description' => 'The CPU architectures of the instance types. Valid values:'."\n" - ."\n" - .'> You can specify 1 to 2 CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* Arm'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The CPU architecture of the instance type. Valid values:'."\n" - ."\n" - .'> You can specify 1 to 2 CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* ARM'."\n", - 'type' => 'string', - 'example' => 'X86', - ], - ], - 'PhysicalProcessorModels' => [ - 'description' => 'The processor models of the instance types. You can specify 1 to 10 processor models.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The processor model of the instance type. You can specify 1 to 10 processor models.'."\n", - 'type' => 'string', - 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', - ], - ], - 'MinimumEniQuantity' => [ - 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MinimumInitialCredit' => [ - 'description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'MinimumBaselineCredit' => [ - 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'MinimumMemorySize' => [ - 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'MaximumMemorySize' => [ - 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'MinimumGpuAmount' => [ - 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaximumGpuAmount' => [ - 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - ], - ], - ], - 'SystemDiskCategories' => [ - 'description' => 'The categories of the system disks. The values are sorted based on their priorities. The first value has the highest priority. 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'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the system disk. The values are sorted based on their priorities. The first value has the highest priority. 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'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - ], - 'WeightedCapacities' => [ - 'description' => 'The weights of the instance types. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the instance type are required to meet the expected capacity requirement.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of the instance type. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the instance type are required to meet the expected capacity requirement.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - ], - 'InstanceTypes' => [ - 'description' => 'The ECS instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ECS instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - ], - 'SecurityGroupIds' => [ - 'description' => 'The IDs of the security groups to which the ECS instances belong. ECS instances that belong to the same security group can communicate with each other.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group to which the ECS instance belongs. ECS instances that belong to the same security group can communicate with each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - ], - 'SchedulerOptions' => [ - 'description' => '> This parameter is in invitational preview and is not available for use.'."\n", - 'type' => 'object', - 'properties' => [ - 'ManagedPrivateSpaceId' => [ - 'description' => '> This parameter is in invitational preview and is not available for use.'."\n", - 'type' => 'string', - 'example' => 'testManagedPrivateSpaceId', - ], - ], - ], - 'SystemDiskEncrypted' => [ - 'description' => 'Indicates whether the system disk is encrypted. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SystemDiskKMSKeyId' => [ - 'description' => 'The ID of the KMS key that is applied to the system disk.'."\n", - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40**** '."\n", - ], - 'SystemDiskEncryptAlgorithm' => [ - 'description' => 'The encryption algorithm that is applied to the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n", - 'type' => 'string', - 'example' => 'AES-256 '."\n", - ], - 'SystemDiskProvisionedIops' => [ - 'description' => 'The provisioned IOPS of 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', - 'example' => '100', - ], - 'SystemDiskBurstingEnabled' => [ - 'description' => 'Indicates whether the Performance Burst feature is enabled for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only when you set SystemDisk.Category to cloud_auto.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ImageOptionsLoginAsNonRoot' => [ - 'description' => 'Indicates whether the ecs-user username can be used to log on to an ECS instance created from the scaling configuration. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'DeletionProtection' => [ - 'description' => 'Indicates whether Release Protection is enabled for the ECS instances. You can specify this parameter to determine whether the ECS instances can be deleted by using the ECS console or calling the DeleteInstance operation. Valid values:'."\n" - ."\n" - .'* true: Release Protection is enabled for the ECS instances. You cannot delete the ECS instances by using the ECS console or calling the DeleteInstance operation.'."\n" - .'* false: Release Protection is disabled for the ECS instances. You can delete the ECS instances by using the ECS console or calling the DeleteInstance operation.'."\n" - ."\n" - .'> You can enable Release Protection for only pay-as-you-go instances to prevent unexpected instance deletion during scale-in events. The Release Protection feature does not affect normal scaling activities. In other words, an instance that meets the criteria of scale-in policies may be removed from a scaling group during a scale-in event even if you enabled Release Protection for the instance.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'StorageSetId' => [ - 'description' => 'The ID of the storage set.'."\n", - 'type' => 'string', - 'example' => 'ss-bp67acfmxazb4p****', - ], - 'StorageSetPartitionNumber' => [ - 'description' => 'The maximum number of partitions in the storage set. The value is an integer that is greater than or equal to 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NetworkInterfaces' => [ - 'description' => 'The ENIs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The ENI type. Valid values:'."\n" - ."\n" - .'* Primary: the primary ENI'."\n" - .'* Secondary: the secondary ENI'."\n", - 'type' => 'string', - 'example' => 'Primary', - ], - 'NetworkInterfaceTrafficMode' => [ - 'description' => 'The communication mode of the ENI. Valid values:'."\n" - ."\n" - .'* Standard: The TCP communication mode is used.'."\n" - .'* HighPerformance: The Elastic RDMA Interface (ERI) is enabled and the remote direct memory access (RDMA) communication mode is used.'."\n", - 'type' => 'string', - 'example' => 'HighPerformance', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of randomly generated IPv6 addresses that are allocated to the primary ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityGroupIds' => [ - 'description' => 'The IDs of the security groups to which the ENIs belong.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group to which the ENI belongs.'."\n", - 'type' => 'string', - 'example' => 'sg-2vc3e1v7xxxxx', - ], - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - 'DedicatedHostClusterId' => [ - 'description' => 'The ID of the dedicated host cluster.'."\n", - 'type' => 'string', - 'example' => 'dc-zm04u8r3lohsq****', - ], - 'PasswordSetted' => [ - 'description' => 'Indicates whether a password is configured for the instance.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SecurityOptions' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ConfidentialComputingMode' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'TDX', - ], - ], - ], - 'HttpEndpoint' => [ - 'description' => 'Indicates whether the access channel is enabled for instance metadata. Valid values:'."\n" - ."\n" - .'* enabled'."\n" - .'* disabled'."\n", - 'type' => 'string', - 'example' => 'enabled', - ], - 'HttpTokens' => [ - 'description' => 'Indicates whether the security hardening mode (IMDSv2) is forcefully used to access instance metadata. Valid values:'."\n" - ."\n" - .'* optional: The security hardening mode IMDSv2 is not forcibly used.'."\n" - .'* required: The security hardening mode (IMDSv2) is forcibly used. After you set this parameter to required, you cannot access instance metadata in normal mode.'."\n", - 'type' => 'string', - 'example' => 'optional', - ], - 'ResourcePoolOptions' => [ - 'description' => 'The resource pools used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation.'."\n" - ."\n" - .'* This parameter takes effect only when you create pay-as-you-go instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'description' => 'The resource pool used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. Valid values:'."\n" - ."\n" - .'* PrivatePoolFirst: prioritizes private pools. When this option is set along with ResourcePoolOptions.PrivatePoolIds, the specified private pools are used first. If you leave ResourcePoolOptions.PrivatePoolIds empty or if the specified private pools lack sufficient capacity, the system will automatically use available open private pools instead. If no matching private pools are available, the system defaults to the public pool.'."\n" - .'* PrivatePoolOnly: uses only private pools. If you use this value, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pools lack sufficient capacity, instance creation will fail.'."\n" - .'* None: uses no resource pools.'."\n", - 'type' => 'string', - 'example' => 'PrivatePoolFirst', - ], - 'PrivatePoolIds' => [ - 'description' => 'The IDs of private pools. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation that is associated with the private pool.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'example' => 'eap-bp67acfmxazb4****', - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\\\t\\\\n\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\\\t\\\\n\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"CustomPriorities\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c6a.4xlarge\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\\\n\\"\\n }\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": [\\n \\"cloud_essd\\"\\n ],\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ],\\n \\"SpotPriceLimits\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\\\t\\\\n\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ],\\n \\"InstancePatternInfos\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": [\\n \\"X86\\"\\n ],\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ],\\n \\"InstanceTypeFamilies\\": [\\n \\"ecs.g6\\"\\n ],\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": [\\n \\"NVIDIA V100\\"\\n ],\\n \\"InstanceCategories\\": [\\n \\"Compute-optimized with GPU\\"\\n ],\\n \\"CpuArchitectures\\": [\\n \\"X86\\"\\n ],\\n \\"PhysicalProcessorModels\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\"\\n ],\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ],\\n \\"SystemDiskCategories\\": [\\n \\"cloud\\"\\n ],\\n \\"WeightedCapacities\\": [\\n 4\\n ],\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ],\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDiskEncrypted\\": false,\\n \\"SystemDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\\\t\\\\n\\",\\n \\"SystemDiskEncryptAlgorithm\\": \\"AES-256\\\\t\\\\n\\",\\n \\"SystemDiskProvisionedIops\\": 100,\\n \\"SystemDiskBurstingEnabled\\": false,\\n \\"ImageOptionsLoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"NetworkInterfaces\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": [\\n \\"sg-2vc3e1v7xxxxx\\"\\n ],\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ],\\n \\"DedicatedHostClusterId\\": \\"dc-zm04u8r3lohsq****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n }\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingConfigurations', - ], - 'ModifyScalingConfiguration' => [ - 'summary' => 'Modifies a scaling configuration.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125383', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" + ."\n" + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'MultiAZPolicy', '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 scaling policy for ECS instances in a multi-zone scaling group. Valid values:'."\n" + ."\n" + .'- `PRIORITY`: Auto Scaling prioritizes the vSwitches specified in `VSwitchIds`. If an operation fails in a higher-priority availability zone, Auto Scaling automatically attempts it in the next-highest-priority zone.'."\n" + ."\n" + .'- `COST_OPTIMIZED`: During scale-out, creates instances from the instance types with the lowest vCPU unit price. During scale-in, removes instances from the instance types with the highest vCPU unit price. If the scaling configuration includes multiple spot instance types, spot instances are prioritized for creation. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create on-demand instances when spot instances cannot be created due to reasons such as insufficient inventory.'."\n" + ."\n" + .' > The `COST_OPTIMIZED` policy takes effect only when the scaling configuration specifies multiple instance types or includes spot instances.'."\n" + ."\n" + .'- `BALANCE`: Distributes ECS instances evenly across the specified availability zones in the scaling group. If the distribution of instances becomes uneven due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) API operation to rebalance the instances.'."\n" + ."\n" + .' > If `MultiAZPolicy` is set to `BALANCE`, the effect is the same as setting `MultiAZPolicy` to `COMPOSABLE` and `AzBalance` to `true`.'."\n" + ."\n" + .'- `COMPOSABLE`: A composite policy that allows you to combine the preceding policies for multi-zone scaling groups as needed. You can also specify additional parameters to gain finer control over the capacity of your scaling group.'."\n" + ."\n" + .'Default value: `PRIORITY`.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], [ - 'name' => 'IoOptimized', + 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create I/O optimized instances from the scaling configuration. Valid values:'."\n" - ."\n" - .'* none: creates non-I/O optimized instances from the scaling configuration.'."\n" - .'* optimized: creates I/O optimized instances from the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'none', - ], + 'schema' => ['description' => 'The health check method for the scaling group. Valid values:'."\n" + ."\n" + .'- `NONE`: No health checks are performed.'."\n" + ."\n" + .'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n" + ."\n" + .'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n" + ."\n" + .'Default value: `ECS`.'."\n" + ."\n" + .'> To enable both instance health checks and load balancer health checks, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy of pay-as-you-go instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The reclamation mode of the scaling group. Valid values:'."\n" + ."\n" + .'- `recycle`: The reclamation mode is Economical Mode.'."\n" + ."\n" + .'- `release`: The reclamation mode is Release Mode.'."\n" + ."\n" + .'- `forcerelease`: The reclamation mode is Force Release Mode.'."\n" + ."\n" + .' > A forced release is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n" + ."\n" + .'- `forcerecycle`: The reclamation mode is Force Economical Mode.'."\n" + ."\n" + .' > A forced stop is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n" + ."\n" + .'`ScalingPolicy` specifies the reclamation mode of the scaling group. The specific action taken when an instance is removed from the scaling group is determined by the `RemovePolicy` parameter of the `RemoveInstances` operation. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'ClientToken', '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 region. If you do not specify this parameter, the scaling configuration ID is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-modify', - ], + 'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request.'."\n" + ."\n" + .'The token must be unique across requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'InstanceName', + 'name' => 'OnDemandBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Elastic Compute Service (ECS) instance that is automatically created by using the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'inst****', - ], + 'schema' => ['description' => 'The minimum number of on-demand instances required in the scaling group. Valid values: 0 to 1,000. If the number of on-demand instances is less than this value, Auto Scaling preferentially creates on-demand instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'HostName', + 'name' => 'OnDemandPercentageAboveBaseCapacity', '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. Separate a hostname into multiple segments with periods (.). Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hos****', - ], + 'schema' => ['description' => 'The percentage of on-demand instances among the excess instances after the minimum number of on-demand instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'SpotInstanceRemedy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to automatically create ECS instances.'."\n" - ."\n" - .'> If the image that is specified in the scaling configuration contains system disks 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' => 'If set to `true`, Auto Scaling attempts to create a new instance to replace a spot instance that is about to be reclaimed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ImageName', + 'name' => 'CompensateWithOnDemand', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. Each image name must be unique in a region. If you specify ImageId, ImageName is ignored.'."\n" - ."\n" - .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', - ], + 'schema' => ['description' => 'This parameter is effective only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. If `true`, Auto Scaling creates on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n" + ."\n" + .'- `true`: Yes.'."\n" + ."\n" + .'- `false`: No.'."\n" + ."\n" + .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'Cpu', + 'name' => 'SpotInstancePools', '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 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 determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify an instance type in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The number of instance types to use. The scaling group creates spot instances in a balanced manner across the specified number of lowest-cost instance types. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - '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 determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify an instance type in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => 'The desired number of instances in the scaling group. Auto Scaling automatically maintains this number of instances. The value must be less than or equal to `MaxSize` and greater than or equal to `MinSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: pay-by-bandwidth. You are charged for the bandwidth specified by InternetMaxBandwidthOut.'."\n" - .'* PayByTraffic: pay-by-traffic. You are charged for the actual traffic generated. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByBandwidth', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Enables deletion protection. The scaling group cannot be deleted.'."\n" + ."\n" + .'- `false`: Disables deletion protection.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InternetMaxBandwidthOut', + 'name' => 'GroupType', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n" + ."\n" + .'- `ECS`: The scaling group manages ECS instances.'."\n" + ."\n" + .'- `ECI`: The scaling group manages ECI instances.'."\n" + ."\n" + .'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'SystemDisk.Category', + 'name' => 'ContainerGroupId', '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: Enterprise SSD (ESSD).'."\n" - .'* ephemeral_ssd: local SSD.'."\n" - ."\n" - .'If you specify SystemDisk.Category, you cannot specify `SystemDiskCategories`. If you do not specify SystemDisk.Category or `SystemDiskCategories`, the default value of SystemDisk.Category is used. The default value for non-I/O optimized instances of Generation I instance families is cloud. The default value for other instances is cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], + 'schema' => ['description' => 'The ID of the ECI instance, also known as the container group ID.', 'type' => 'string', 'required' => false, 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], ], [ - 'name' => 'SystemDisk.Size', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB. Valid values:'."\n" + 'description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" + ."\n" + .'If you specify multiple vSwitches:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" ."\n" - .'* Basic disk: 20 to 500.'."\n" + .'- They can be in different availability zones.'."\n" ."\n" - .'* ESSD: Valid values vary based on the performance level of the ESSD.'."\n" + .'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n" ."\n" - .' * PL0 ESSD: 1 to 2048.'."\n" - .' * PL1 ESSD: 20 to 2048.'."\n" - .' * PL2 ESSD: 461 to 2048.'."\n" - .' * PL3 ESSD: 1261 to 2048.'."\n" + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" + ."\n" + .'If you specify multiple vSwitches:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" ."\n" - .'* ESSD AutoPL disk: 1 to 2048.'."\n" + .'- They can be in different availability zones.'."\n" ."\n" - .'* Other disk categories: 20 to 2048.'."\n" + .'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n" ."\n" - .'The value of this parameter must be at least 1 and greater than or equal to the image size.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], 'required' => false, - 'example' => '50', + 'maxItems' => 8, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDisk.DiskName', + 'name' => 'LifecycleHooks', 'in' => 'query', + 'style' => 'repeatList', '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" - ."\n" - .'Default value: null.', - 'type' => 'string', + 'description' => 'The list of lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of lifecycle hooks.', + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- `CONTINUE`: Continues the scale-out or scale-in activity.'."\n" + ."\n" + .'- `ABANDON`: Aborts the scale-out activity by releasing the created instances, or aborts the scale-in activity by keeping the instances in the scaling group.'."\n" + ."\n" + .'If a scale-in (SCALE\\_IN) activity triggers multiple lifecycle hooks, and the `DefaultResult` of one of the lifecycle hooks is `ABANDON`, the wait state of the other lifecycle hooks ends prematurely. In other cases, the action is determined by the last lifecycle hook to complete.'."\n" + ."\n" + .'Default value: `CONTINUE`.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook. The name cannot be modified after it is specified. If you do not specify a name, the ID of the lifecycle hook is used.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], + 'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'- `SCALE_OUT`: A scale-out activity.'."\n" + ."\n" + .'- `SCALE_IN`: A scale-in activity.'."\n" + ."\n" + .'> This parameter is required if you specify a lifecycle hook for the scaling group. Other related parameters are optional.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'A fixed string of information for the wait state of a scaling activity. The value cannot exceed 4,096 characters in length. When Auto Scaling sends a message to the specified notification recipient, it includes the value of this parameter. This allows you to manage and categorize notifications. This parameter is valid only when you specify the `NotificationArn` parameter.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient for the lifecycle hook. Message Service (MNS) queues and topics are supported. The format is `acs:ess:{region}:{account-id}:{resource-relative-id}`.'."\n" + ."\n" + .'- `region`: the region where the scaling group is located.'."\n" + ."\n" + .'- `account-id`: the ID of your Alibaba Cloud account.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- MNS queue: `acs:ess:{region}:{account-id}:queue/{queuename}`.'."\n" + ."\n" + .'- MNS topic: `acs:ess:{region}:{account-id}:topic/{topicname}`.', 'type' => 'string', 'required' => false, 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', 'title' => ''], + 'HeartbeatTimeout' => ['description' => 'The wait time that is defined in the lifecycle hook for a scaling activity. After the wait time expires, the next action is performed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call the `RecordLifecycleActionHeartbeat` operation to extend the wait time of an instance, or call the `CompleteLifecycleAction` operation to end the wait state of the scaling activity in advance.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cloud_ssdSystem', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDisk.Description', + 'name' => 'VServerGroups', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The vServer groups to associate with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The vServer groups to associate with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1443g77****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the vServer group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the vServer group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB) instance to which the vServer group belongs.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'Test system disk.', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'name' => 'Tags', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to the system disk.'."\n", - 'type' => 'string', + 'description' => 'The tags to apply to the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags to apply to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag can be propagated. Valid values:'."\n" + ."\n" + .'- `true`: The tag is propagated from the scaling group only to newly created instances, not to instances that are already running in the scaling group.'."\n" + ."\n" + .'- `false`: The tag is not propagated from the scaling group to any instances.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'sp-bp12m37ccmxvbmi5****', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDisk.PerformanceLevel', + 'name' => 'LaunchTemplateOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The performance level (PL) of the system disk that is an ESSD. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', + 'description' => 'The instance type information for extending the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information for extending the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify both this parameter and `LaunchTemplateOverrides.WeightedCapacity`.'."\n" + ."\n" + .'This parameter specifies the instance type, which overrides the instance type specified in the launch template.'."\n" + ."\n" + .'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.'."\n" + ."\n" + .'Must be a valid ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of that type in the scaling group. A higher weight means that fewer instances of this type are needed to meet the desired capacity.'."\n" + ."\n" + .'Because instance types have different performance metrics, such as the number of vCPUs and memory size, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + ."\n" + .'- Desired capacity: 6.'."\n" + ."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the desired capacity, the scaling group will create two ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During a scale-out activity, the capacity of the scaling group cannot exceed the sum of the maximum capacity (`MaxSize`) and the maximum weight of an instance type.'."\n" + ."\n" + .'Valid values: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the instance type specified in `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'PL0', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'AlbServerGroups', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The weight of an ECS instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'A scaling group can be associated with a limited number of ALB server groups. To view or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => false, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the ALB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the ALB server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '50', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'UserData', + 'name' => 'ServerGroups', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The user data of the Elastic Compute Service (ECS) instance. The user data must be encoded in Base64 format. The size of raw data before Base64 encoding cannot exceed 32 KB.'."\n", - 'type' => 'string', + 'description' => 'The load balancer server groups.'."\n" + ."\n" + .'> You cannot specify the same server group in both `AlbServerGroups` and `ServerGroups`.', + 'type' => 'array', + 'items' => [ + 'description' => 'The load balancer server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'required' => false, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'- `ALB`: Application Load Balancer.'."\n" + ."\n" + .'- `NLB`: Network Load Balancer.'."\n" + ."\n" + .'- `GWLB`: Gateway Load Balancer.', 'type' => 'string', 'required' => false, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight indicates that more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB server groups. You cannot set this parameter for GWLB server groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'echo hello ecs! '."\n", + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'KeyPairName', + 'name' => 'AzBalance', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that you can use to log on to an ECS instance.'."\n" - ."\n" - .'* Windows instances do not support 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' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple availability zones. This parameter is valid only when `MultiAZPolicy` is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- `true`: The capacity of the scaling group is evenly distributed across multiple availability zones.'."\n" + ."\n" + .'- `false`: The capacity of the scaling group is not evenly distributed across multiple availability zones.'."\n" + ."\n" + .'> If `MultiAZPolicy` is set to `COMPOSABLE` and `AzBalance` is set to `true`, the effect is the same as setting `MultiAZPolicy` to `BALANCE`.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'AllocationStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that you want to attach to the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the ListRoles operation to query the available RAM roles. You can call the CreateRole operation to create RAM roles.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamRoleTest', - ], + 'schema' => ['description' => 'The capacity allocation policy determines how the scaling group selects available instance types to meet capacity requirements. The policy applies to both on-demand and preemptible capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Creates instances in the order of the configured instance types.'."\n" + ."\n" + .'- lowestPrice: Create instances based on the price per vCPU of instance types, from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], [ - 'name' => 'PasswordInherit', + 'name' => 'SpotAllocationStrategy', '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 in the image.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The distribution strategy for spot capacity. You can use this parameter to specify a separate strategy for spot capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Creates instances in the order of the configured instance types.'."\n" + ."\n" + .'- lowestPrice: Creates instances in ascending order of the price per vCPU of the instance types.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'SyncAlarmRuleToCms', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags of the ECS instance. Specify the tags as key-value pairs. 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://`. The tag key cannot be an empty string.'."\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://`. The tag value can be an empty string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', - ], + 'schema' => ['description' => '> This parameter is not yet available.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'DeploymentSetId', + 'name' => 'MaxInstanceLifetime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set of the ECS instances that are created by using the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp13v7bjnj9gis****', - ], + 'schema' => ['description' => 'The maximum lifetime of an instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Value range: \\[86400, Integer.maxValue].'."\n" + ."\n" + .'Default value: null.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'CustomPolicyARN', + 'in' => 'query', + 'schema' => ['description' => 'The ARN of the custom scale-in policy function. This parameter is valid only when the first removal policy in `RemovalPolicies` is `CustomPolicy`.', 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the new scaling group belongs.'."\n" + ."\n" + .'> If you do not specify this parameter, the new scaling group is added to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerConfigs', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the security group with which ECS instances are associated. The ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', + 'description' => 'The load balancer configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The load balancer configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zen1olhfg9yw3f4q****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the SLB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'sg-F876F****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Override', + 'name' => 'HealthCheckTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to overwrite existing data. Valid values:'."\n" + 'description' => 'The health check methods for the scaling group.'."\n" + ."\n" + .'> You can use this parameter to set multiple values and enable multiple health check options. If you set the `HealthCheckType` parameter, this parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The health check methods for the scaling group. Valid values:'."\n" + ."\n" + .'- `NONE`: No health checks are performed.'."\n" + ."\n" + .'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', + .'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n" + ."\n" + .'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'example' => 'true', - 'default' => 'false', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DBInstances', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group to which the ECS instances belong.'."\n", - 'type' => 'string', + 'description' => 'The databases that are associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The database configurations that are associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'required' => false, 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS'."\n" + ."\n" + .'- Redis'."\n" + ."\n" + .'- MongoDB'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], + 'AttachMode' => ['description' => 'The method that is used to associate the scaling group with the database. Valid values:'."\n" + ."\n" + .'- `SecurityIp`: The IP address whitelist mode. This mode automatically adds the scaled-out instances to the IP address whitelist of the database. This mode is supported only by RDS databases.'."\n" + ."\n" + .'- `SecurityGroup`: The security group mode. This mode adds the security group of the scaling configuration to the security group whitelist of the database. This allows instances in the security group to access the database.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'abcd1234abcd****', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HpcClusterId', + 'name' => 'StopInstanceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instances belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc-clusterid', - ], + 'schema' => ['description' => 'The timeout period for the system to wait for an ECS instance to be stopped during a scale-in event. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter takes effect only during scale-in events when `ScalingPolicy` is set to `release`.'."\n" + .'>'."\n" + .'> - If this parameter is set, the system waits for the specified `StopInstanceTimeout` period for the instance to be stopped. If the instance is not stopped after the timeout period, the scale-in process continues regardless of the instance status.'."\n" + .'>'."\n" + .'> - If this parameter is not set, the system waits for an extended period for the instance to be stopped. The scale-in process continues only after the instance is stopped. If the instance fails to stop, the scale-in process is rolled back, and the scale-in event fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'InstanceDescription', + 'name' => 'CapacityOptions', 'in' => 'query', + 'style' => 'flat', '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', + 'description' => 'The capacity options.', + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of on-demand instances required in the scaling group. When the number of on-demand instances in the scaling group is less than this value, the system preferentially creates on-demand instances. Valid values: 0 to 1,000.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of on-demand instances among the excess instances after the `OnDemandBaseCapacity` requirement is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, this parameter specifies whether to automatically create on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n" + ."\n" + .'- `true`: Yes.'."\n" + ."\n" + .'- `false`: No.'."\n" + ."\n" + .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'After you enable `CompensateWithOnDemand`, if the on-demand percentage exceeds the `OnDemandPercentageAboveBaseCapacity` ratio, the system attempts to replace on-demand capacity with spot capacity. A common scenario is when `CompensateWithOnDemand` leads to on-demand instances being created due to spot inventory or price issues. To avoid the prolonged existence of these on-demand instances, the system attempts to replace the excess on-demand capacity with spot instances. Valid values:'."\n" + ."\n" + .'- `true`: Allows replacement.'."\n" + ."\n" + .'- `false`: Does not allow replacement.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- `PricePerUnit`: Compares prices based on per-unit capacity.'."\n" + ."\n" + .' The capacity of an instance in a scaling group is equal to the weight set for the instance type, with a default of 1, meaning one ECS instance equals one unit of capacity.'."\n" + ."\n" + .'- `PricePerVCpu`: Compares prices based on per-vCPU price.'."\n" + ."\n" + .'Default value: `PricePerUnit`.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], + ], 'required' => false, - 'example' => 'Test instance.', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'BalanceMode', '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 zone balancing mode is effective only when enabled. Valid values:'."\n" + ."\n" + .'- BalancedBestEffort: If a resource fails to be created in an availability zone, the system falls back to other availability zones to ensure best-effort delivery.'."\n" + ."\n" + .'- BalancedOnly:'."\n" + .' If resource creation fails in an availability zone, the system does not fall back to other availability zones. The scaling activity is partially successful, which prevents an excessive imbalance of resources across different availability zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'], ], [ - 'name' => 'CreditSpecification', + 'name' => 'AutoRebalance', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic balancing for the scaling group. This setting takes effect only when BalancedOnly is enabled for a scaling group that is balanced across availability zones. Value range:'."\n" + ."\n" + .'- false: Does not enable automatic balancing for the scaling group.'."\n" + ."\n" + .'- true: When automatic balancing for the scaling group is enabled, the scaling group automatically detects the capacity across availability zones. If the capacity is imbalanced, the scaling group proactively performs scaling across availability zones to rebalance the capacity.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The performance mode of burstable instances. Valid values:'."\n" - ."\n" - .'* Standard: the standard mode. For more information, see the "Standard mode" section in the [Overview of burstable instances](~~59977~~) topic.'."\n" - .'* Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section in the [Overview of burstable instances](~~59977~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ResourceNotAvailable.VPCNetwork', 'errorMessage' => 'The specified zone does not support vpc network or sold out.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]', + 'title' => 'CreateScalingGroup', + 'description' => 'A scaling group is a collection of ECS instances for the same use case.'."\n" + ."\n" + .'The number of scaling groups that you can create in a region depends on your Auto Scaling usage. To view your quota for scaling groups, go to Quota Center.'."\n" + ."\n" + .'A scaling group is not active immediately after creation. You must call the [EnableScalingGroup](~~25939~~) operation to enable the group before it can trigger scaling activities or execute scaling rules.'."\n" + ."\n" + .'The scaling group, as well as its associated Classic Load Balancer (CLB) (formerly SLB) and RDS instances, must be in the same region. For more information, see [Regions and availability zones](~~40654~~).'."\n" + ."\n" + .'If you associate a CLB instance with a scaling group, the scaling group automatically adds new ECS instances to a backend server group of the CLB instance. You can specify which server group to use. The following types of server groups are supported:'."\n" + ."\n" + .'- Default server group: A group of ECS instances that receive requests from the front end. If no vServer group or primary/standby server group is configured for a listener, it forwards requests to the ECS instances in the default server group.'."\n" + ."\n" + .'- vServer group: Use a vServer group if you need to forward different requests to different backend servers, or forward requests based on domain names and URLs.'."\n" + ."\n" + .'> If you specify both a default server group and one or more vServer groups, the scaling group adds new ECS instances to all specified server groups.'."\n" + ."\n" + .'After an instance is added to a backend server group of a CLB instance, its default weight is 50. The CLB instance must meet the following conditions:'."\n" + ."\n" + .'- The CLB instance must be in the active state. You can call the [DescribeLoadBalancers](~~2401696~~) operation to check the state of a CLB instance.'."\n" + ."\n" + .'- Health checks must be enabled for all listeners configured on the CLB instance. Otherwise, the scaling group creation fails.'."\n" + ."\n" + .'If you associate a scaling group with Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups, it automatically adds new ECS instances as backend servers to those groups to handle distributed requests. You can specify multiple such server groups, but they must all belong to the same VPC as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" + ."\n" + .'If you associate an RDS instance with a scaling group, the scaling group automatically adds the internal IP addresses of new ECS instances to the IP address whitelist of the RDS instance. The RDS instance must meet the following conditions:'."\n" + ."\n" + .'- The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~610396~~) operation to check the state of an RDS instance.'."\n" + ."\n" + .'- The number of IP addresses in the RDS instance\'s IP address whitelist cannot exceed the limit. For more information, see the [Configure an IP address whitelist](~~43185~~) topic in the RDS documentation.'."\n" + ."\n" + .'If the `MultiAZPolicy` of a scaling group is set to `COST_OPTIMIZED`:'."\n" + ."\n" + .'- If you specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, and `SpotInstancePools` parameters, you define the instance allocation strategy for the cost-optimized policy. Auto Scaling prioritizes this strategy during scaling activities.'."\n" + ."\n" + .'- If you do not specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, or `SpotInstancePools` parameters, the cost-optimized policy creates instances by using only the lowest-cost method. In this mode, you cannot create instances by using the Elastic Guarantee service or the Capacity Reservation service.'."\n" + ."\n" + .'If you enable tag propagation for a scaling group by setting `Tags.Propagate` to `true`:'."\n" + ."\n" + .'- The scaling group propagates its tags only to new instances, not to existing instances.'."\n" + ."\n" + .'- If you specify instance tags in the scaling configuration and also choose to propagate tags from the scaling group, Auto Scaling applies both sets of tags to the new instances.'."\n" + ."\n" + .'- If a tag from the scaling configuration and a propagated tag from the scaling group have the same tag key, the tag value from the scaling configuration takes precedence.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], + ], + ], + ], + ], + ], + 'CreateScalingRule' => [ + 'summary' => 'The function of a scaling rule is determined by its type, which can be used to trigger a scaling activity or intelligently set the boundary values of a scaling group. Depending on your business requirements, you can invoke the CreateScalingRule API to create different types of scaling rules. For example, if your business only requires setting the boundary values of a scaling group, we recommend that you select the predictive rule type.'."\n", + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ImageFamily', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125334', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', '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. Then, you can use the images to create instances. If you specify ImageId, you cannot specify ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'ZoneId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instances that are created by using the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" + ."\n" + .'The name of each scaling rule must be unique under the same account within a region.'."\n" + ."\n" + .'If you leave this parameter empty, the scaling rule ID is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ - 'name' => 'DedicatedHostId', + 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which you want to create ECS instances. You cannot create preemptible instances on dedicated hosts. If you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored.'."\n" - ."\n" - .'You can call the DescribeDedicatedHosts operation to query the most recent list of dedicated host IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], + 'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'By default, this parameter is left empty.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'Affinity', + 'name' => 'MinAdjustmentMagnitude', '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 on the dedicated host with the dedicated host. If you restart 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 on a dedicated host with the dedicated host. If you restart 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', - ], + 'schema' => ['description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Tenancy', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create ECS instances on dedicated hosts. Valid values:'."\n" - ."\n" - .'* default: creates ECS instances on non-dedicated hosts.'."\n" - .'* host: creates ECS instances on dedicated hosts. If you do not specify DedicatedHostId, the system randomly selects a dedicated host for an ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The scaling method of the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'SchedulerOptions', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The scheduler options.'."\n", - 'type' => 'object', - 'required' => false, - 'example' => '["testManagedPrivateSpaceId****"]', - ], + 'schema' => ['description' => 'The number of instances that must be scaled based on the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" + ."\n" + .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'PrivatePoolOptions.MatchCriteria', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the private pool that you want to use to start ECS instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can specify a private pool for Auto Scaling to start ECS instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. Auto Scaling selects a matching open private pool to start ECS instances. If no matching open private pools exist, the resources in the public pool are used. In this case, you do not need to specify PrivatePoolOptions.Id.'."\n" - .'* Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start ECS instances. If the specified private pool does not exist, Auto Scaling cannot start ECS instances. If you set this parameter to Target, you must specify PrivatePoolOptions.Id.'."\n" - .'* None: no private pool. Auto Scaling does not use the resources of private pools to start ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: a simple scaling rule. After you execute a simple scaling rule, Auto Scaling adjusts the number of ECS instances or elastic container instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" + .'* TargetTrackingScalingRule: a target tracking scaling rule. After you execute a target tracking scaling rule, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the expected value (TargetValue).'."\n" + .'* StepScalingRule: a step scaling rule. After you execute a step scaling rule, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" + .'* PredictiveScalingRule: a predictive scaling rule. After you execute a predictive scaling rule, Auto Scaling uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n" + ."\n" + .'Default value: SimpleScalingRule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule', 'default' => 'SimpleScalingRule', 'title' => ''], ], [ - 'name' => 'PrivatePoolOptions.Id', + 'name' => 'EstimatedInstanceWarmup', '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 warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" + ."\n" + .'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'SpotDuration', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The protection period of preemptible instances. Unit: hours. Valid values:'."\n" - ."\n" - .'* 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 1-hour protection period ends, Alibaba Cloud compares the bidding price with the market price and checks the resource inventory to determine whether to release the instance.'."\n" - .'* 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance is not automatically released within 1 hour. Alibaba Cloud compares the biding price with the market price and checks the resource inventory to determine whether to release the instance.'."\n" - ."\n" - .'> Alibaba Cloud notifies you of ECS system events 5 minutes before an instance is released. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The predefined metric that you want to monitor. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to TargetTrackingScalingRule:'."\n" + ."\n" + .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" + .'* MemoryUtilization (recommended): the memory usage.'."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* VpcInternetTx: the outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" + .'* VpcInternetRx: the inbound traffic from the Internet to a VPC.'."\n" + .'* LoadBalancerRealServerAverageQps:the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to PredictiveScalingRule:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'SpotInterruptionBehavior', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate. This value specifies that the preemptible instance is to be released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - ], + 'schema' => ['description' => 'The target value. This parameter is required only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], ], [ - 'name' => 'DataDisks', + 'name' => 'DisableScaleIn', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data disk.'."\n", - 'type' => 'object', - 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of the data disk that is an ESSD. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about 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 the data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of the system disk. The description must be 2 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk. '."\n", - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disks. If you specify this parameter, DataDisk.Size is ignored. The size of the data disk created by using the snapshot is the same as the size of the snapshot.'."\n" - ."\n" - .'If the snapshot was created on or before July 15, 2013, the API request is rejected and the InvalidSnapshot.TooOld message is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-snapshot**** '."\n", - ], - 'Categories' => [ - 'description' => 'The categories of data disks. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk created along with each ECS instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify `DataDisk.Category`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the data disk. 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. The DeleteWithInstance attribute of a basic disk created along with each ECS instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify `DataDisk.Category`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GB. Valid values:'."\n" - ."\n" - .'* 5 to 2000 if you set DataDisk.Category to cloud.'."\n" - .'* 20 to 32768 if you set DataDisk.Category to cloud_efficiency.'."\n" - .'* 20 to 32768 if you set DataDisk.Category to cloud_ssd.'."\n" - .'* 20 to 32768 if you set DataDisk.Category to cloud_essd.'."\n" - .'* 5 to 800 if you set DataDisk.Category to ephemeral_ssd.'."\n" - ."\n" - .'Set Size to a value that is greater than or equal to the size of the snapshot specified by SnapshotId.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of the data disk. If you do not specify this parameter, the system automatically assigns a mount target when Auto Scaling creates an ECS instance. Valid values: /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdd', - ], - 'DiskName' => [ - '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_ssdData '."\n", - ], - 'Category' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk created along with each ECS 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" - ."\n" - .'If you specify this parameter, you cannot specify `DataDisk.Categories`. If you leave this parameter and `DataDisk.Categories` empty at the same time, the default value of this parameter is used.'."\n" - ."\n" - .'* For I/O optimized instances, the default value is cloud_efficiency.'."\n" - .'* For non-I/O optimized instances, the default value is cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release the data disk if the instance to which the data disk is attached is released. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'If you set DataDisk.Category to cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto, you can specify this parameter. If you specify this parameter for data disks of other categories, an error is returned.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that you want to apply to the data disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'ProvisionedIops' => [ - 'description' => 'The provisioned IOPS of 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', - 'required' => false, - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Specifies whether to enable the Burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> If you set `SystemDisk.Category` to `cloud_auto`, you can specify this parameter.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 16, - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is available only if you set ScalingRuleType to TargetTrackingScalingRule.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'SpotPriceLimits', + 'name' => 'ScaleInEvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" + ."\n" + .'Default value: 15.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + ], + [ + 'name' => 'ScaleOutEvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'PredictiveScalingMode', + 'in' => 'query', + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" + .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n" + ."\n" + .'Default value: PredictAndScale.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], + ], + [ + 'name' => 'PredictiveValueBehavior', + 'in' => 'query', + 'schema' => ['description' => 'The maximum value for predication tasks. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n" + ."\n" + .'Default value: MaxOverridePredictiveValue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], + ], + [ + 'name' => 'PredictiveValueBuffer', + 'in' => 'query', + 'schema' => ['description' => 'The ratio based on which the predicted value is increased when you set `PredictiveValueBehavior` to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'PredictiveTaskBufferTime', + 'in' => 'query', + 'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'InitialMaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n" + ."\n" + .'The default value of this parameter is the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'StepAdjustments', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about spot instance types.'."\n", + 'description' => 'Details of the step adjustments.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The spot instance type.'."\n", + 'description' => 'Details of the step adjustments.'."\n", 'type' => 'object', 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of the spot instances. This parameter takes effect only if you set SpotStrategy to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125 '."\n", - ], - 'InstanceType' => [ - 'description' => 'The instance type of the spot instances. This parameter takes effect only if you set SpotStrategy to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large '."\n", - ], + 'MetricIntervalUpperBound' => ['description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceTypes', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance types. If you specify InstanceTypes, InstanceType is ignored.'."\n" - ."\n" - .'Auto Scaling creates instances based on a priority list of instance types. If it fails to create instances using the highest-priority type, it automatically moves to the next type in the priority order.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type. If you specify InstanceTypes, InstanceType is ignored.'."\n" - ."\n" - .'Auto Scaling creates instances based on a priority list of instance types. If it fails to create instances using the highest-priority type, it automatically moves to the next type in the priority order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'InstanceTypeOverrides', + 'name' => 'AlarmDimensions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the instance types.'."\n", + 'description' => 'The metric dimensions. This parameter is applicable to target tracking scaling rules. If your predefined metric requires extra dimensions, you must specify this parameter. For example, if you use LoadBalancerRealServerAverageQps as your predefined metric, you must use this parameter to specify the rulePool dimension.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The information about instance types.'."\n", + 'description' => 'Dimension information values for monitoring metrics. This parameter applies to target tracking rules and is used when additional dimension information is required for a metric. For example, the LoadBalancerRealServerAverageQps metric requires specifying the rulePool dimension key-value pair.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type. If you want to specify the weight of the instance type in the scaling configuration, you must specify InstanceTypeOverride.WeightedCapacity after you specify this parameter.'."\n" - ."\n" - .'This parameter specifies instance types. You can use this parameter to specify multiple instance types and use InstanceTypeOverride.WeightedCapacity to specify weights for the instance types.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify instanceTypes.'."\n" - ."\n" - .'You can use this parameter to specify any instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge '."\n", - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. If you want to trigger scale-outs based on instance capacities, you can specify this parameter after you specify LaunchTemplateOverride.InstanceType.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Sample capacity configurations:'."\n" - ."\n" - .'* Current capacity: 0.'."\n" - .'* Expected capacity: 6.'."\n" - .'* Capacity of ecs.c5.xlarge: 4.'."\n" - ."\n" - .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" - ."\n" - .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxuxxx', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SecurityGroupIds', + 'name' => 'MetricType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the security groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs**** '."\n", - ], - 'required' => false, - 'maxItems' => 16, - ], + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ - 'name' => 'InstancePatternInfos', + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], + ], + [ + 'name' => 'HybridMetrics', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The intelligent configuration settings, which determine the available instance types.'."\n", + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The intelligent configuration setting, which determines the available instance types.'."\n", 'type' => 'object', 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs per instance type in intelligent configuration mode. You can specify this parameter to filter the available instance types. For more information, see [Overview of instance families](~~25378~~).'."\n" - ."\n" - .'Before you specify this parameter, take note of the following items:'."\n" - ."\n" - .'* You can specify InstancePatternInfo only if your scaling group resides in a virtual private cloud (VPC).'."\n" - .'* If you specify InstancePatternInfo, you must also specify InstancePatternInfo.Cores and InstancePatternInfo.Memory.'."\n" - .'* Auto Scaling preferentially uses the instance type specified by InstanceType or InstanceTypes to create instances. If the specified instance type does not have sufficient inventory, Auto Scaling selects the lowest-priced instance type specified by InstancePatternInfo to create instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family. You can specify this parameter to obtain the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry-level (shared instance types). Instance types of this level are the most cost-effective but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise-level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit entry-level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price of pay-as-you-go or preemptible instances in intelligent configuration mode. You can specify this parameter to obtain the available instance types.'."\n" - ."\n" - .'> If you set SpotStrategy to SpotWithPriceLimit, you must specify this parameter. In other cases, this parameter is optional.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size per instance type in intelligent configuration mode. Unit: GiB. You can specify this parameter to filter the available instance types.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'Architectures' => [ - 'description' => 'The architecture types of the instance types. Valid values:'."\n" - ."\n" - .'* X86: x86.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n" - ."\n" - .'By default, all values are selected.'."\n", + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of all metric values within a specified interval.'."\n" + .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" + .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The architecture type of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n" - ."\n" - .'By default, all values are selected.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''], + ], 'required' => false, - 'example' => 'X86', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" - ."\n" - .'* Exclude: excludes burstable instance types.'."\n" - .'* Include: includes burstable instance types.'."\n" - .'* Required: includes only burstable instance types.'."\n" - ."\n" - .'Default value: Include.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Include', - ], - 'ExcludedInstanceTypes' => [ - 'description' => 'The instance types that you want to exclude. You can use an asterisk (\\*) as a wildcard character 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", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance type that you want to exclude. You can use an asterisk (\\*) as a wildcard character 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", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceTypeFamilies' => [ - 'description' => 'The instance families that you want to specify. You can specify up to 10 instance families in each call.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance family that you want to specify. You can specify up to 10 instance families in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumCpuCoreCount' => [ - 'description' => 'The minimum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MaximumCpuCoreCount' => [ - 'description' => 'The maximum number of vCPUs per instance type.'."\n" - ."\n" - .'> The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'GpuSpecs' => [ - 'description' => 'The GPU models.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The GPU model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NVIDIA V100', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], - 'InstanceCategories' => [ - 'description' => 'The categories of the instance types. Valid values:'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type that uses local SSDs.'."\n" - .'* High Clock Speed: instance type that has a high clock speed.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the instance type. Valid values:'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type that uses local SSDs.'."\n" - .'* High Clock Speed: instance type that has a high clock speed.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Compute-optimized with GPU', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], - 'CpuArchitectures' => [ - 'description' => 'The CPU architectures of the instance types. Valid values:'."\n" - ."\n" - .'> You can specify up to two CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* Arm'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The CPU architecture of the instance type. Valid values:'."\n" - ."\n" - .'> You can specify up to two CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* Arm'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], - 'PhysicalProcessorModels' => [ - 'description' => 'The processor models of the instance types. You can specify up to 10 processor models.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The processor model of the instance type. You can specify up to 10 processor models.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MinimumInitialCredit' => [ - 'description' => 'The initial vCPU credits of each t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], - 'MinimumBaselineCredit' => [ - 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) of each t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], - 'MinimumMemorySize' => [ - 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'MaximumMemorySize' => [ - 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'MinimumGpuAmount' => [ - 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'MaximumGpuAmount' => [ - 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SystemDiskCategories', + 'name' => 'AlarmOptions', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', 'schema' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create disks by using the disk category of the highest priority, Auto Scaling creates disks by using the disk category of 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 this parameter, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the system disk. If Auto Scaling cannot create disks by using the disk category of the highest priority, Auto Scaling creates disks by using the disk category of the next highest priority. Valid values:'."\n" + 'description' => 'Definition of alerting properties.', + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The period for aggregating monitoring metric data in a target tracking rule, in seconds. Valid values:'."\n" ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" + .'- 15'."\n" + .'- 60'."\n" + .'- 120'."\n" + .'- 300'."\n" + .'- 900'."\n" ."\n" - .'> If you specify this parameter, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', + .'> Default Value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], 'required' => false, - 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Password', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The password of 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" - .'> We recommend that you use HTTPS to send requests if you specify Password to avoid password leakage.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123abc****', + 'type' => 'object', + 'properties' => [ + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'Create a scaling rule', + 'description' => 'A scaling rule defines specific scale-out or scale-in operations, such as adding or removing N instances. If executing a scaling rule would cause the number of ECS or ECI instances in the scaling group to fall below MinSize or exceed MaxSize, automatic scaling automatically adjusts the number of ECS or ECI instances to be added or removed so that the actual instance count reaches MinSize or MaxSize. However, the configured value of the scaling rule remains unchanged. Examples are as follows:'."\n" + ."\n" + .'- For a scaling group with MaxSize=3 and a current Total Capacity of 2, if the scaling rule specifies adding 3 ECS instances, only 1 ECS instance will actually be added during execution, but the configured value of the scaling rule remains 3.'."\n" + .'- For a scaling group with MinSize=2 and a current Total Capacity of 3, if the scaling rule specifies removing 5 ECS instances, only 1 ECS instance will actually be removed during execution, but the configured value of the scaling rule remains 5.'."\n" + ."\n" + .'Please note the following parameter-related descriptions:'."\n" + ."\n" + .'- When AdjustmentType is TotalCapacity, it means adjusting the current number of ECS or ECI instances in the scaling group to the specified quantity. The corresponding AdjustmentValue must be greater than or equal to 0.'."\n" + .'- When AdjustmentType is QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates adding instances, while a negative value indicates removing instances.'."\n" + .'- When AdjustmentType is PercentChangeInCapacity, the automatic scaling service calculates the number of ECS or ECI instances to add or remove by multiplying the current instance count (Total Capacity) by AdjustmentValue/100 and then applying rounding.'."\n" + .'- If a cooldown time (Cooldown) is specified in the scaling rule, the scaling group enters a cooldown period for the specified duration after the scaling activity triggered by this rule completes. If no cooldown time is specified in the scaling rule, the default cooldown time (DefaultCooldown) of the scaling group is used.'."\n" + .'- There is a limit on the number of scaling rules that can be created within a single scaling group. For details, see [Limits](~~25863~~).'."\n" + .'- The returned Unique Identifier (ScalingRuleAri) of the scaling rule can be used with the following APIs:'."\n" + .' - Specify it in the ScalingRuleAri parameter when invoking ExecuteScalingRule to manually execute the scaling rule.'."\n" + .' - Specify it in the ScheduledAction parameter when creating a scheduled task (CreateScheduledTask) to execute the scaling rule at a scheduled time.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\"\\n}","type":"json"}]', + ], + 'CreateScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SystemDisk.Encrypted', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125330', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', '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 region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'SystemDisk.KMSKeyId', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the KMS key that you want to use to encrypt the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], + 'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n" + ."\n" + .'If you do not specify this parameter, the value of the `ScheduledTaskId` parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], ], [ - 'name' => 'SystemDisk.EncryptAlgorithm', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption algorithm of 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 description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.'], ], [ - 'name' => 'SystemDisk.ProvisionedIops', + 'name' => 'ScheduledAction', 'in' => 'query', - 'schema' => [ - 'description' => 'The IOPS metric that is preconfigured 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 scaling rule that you want to execute when the scheduled task is triggered. Specify the unique identifier of the scaling rule.'."\n" + ."\n" + .'If you specify `ScheduledAction`, the scheduled task uses an existing scaling rule. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****'], ], [ - 'name' => 'SystemDisk.BurstingEnabled', + 'name' => 'RecurrenceEndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the Burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> If you set `SystemDisk.Category` to `cloud_auto`, you can specify this parameter.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.'."\n" + ."\n" + .'The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is created.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-17T16:55Z'], ], [ - 'name' => 'ImageOptions.LoginAsNonRoot', + 'name' => 'LaunchTime', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use ecs-user to log on to an ECS instance created from the scaling configuration. For information about logon usernames, see [Manage the logon username of an instance](~~388447~~). Valid values:'."\n" - ."\n" - .'true'."\n" - ."\n" - .'false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The point in time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard. The time must be in UTC. You cannot trigger a scheduled task more than 90 days after its creation.'."\n" + ."\n" + .'* If you specify `RecurrenceType`, the scheduled task is repeatedly triggered at the point in time that is specified by LaunchTime.'."\n" + .'* If you do not specify `RecurrenceType`, the scheduled task is triggered only once at the time point that is specified by LaunchTime.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2014-08-17T16:52Z'], ], [ - 'name' => 'DeletionProtection', + 'name' => 'RecurrenceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the Release Protection feature for ECS instances. If you enable this feature, you cannot directly release the ECS instances in the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" - ."\n" - .'* true: enables the Release Protection feature. In this case, you cannot directly release the ECS instances in the ECS console or by calling the DeleteInstance operation.'."\n" - .'* false: disables the Release Protection feature. In this case, you can directly release the ECS instances in the ECS console or by calling the DeleteInstance operation.'."\n" - ."\n" - .'> You can enable the Release Protection feature only for pay-as-you-go instances to prevent accidental instance deletion. The Release Protection feature does not affect normal scaling activities. An instance that meets the criteria of scale-in policies can be removed from a scaling group during a scale-in event, regardless of whether you enabled the Release Protection feature for the instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" + ."\n" + .'* Daily: The scheduled task is executed once every specified number of days.'."\n" + .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" + .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" + .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Daily'], ], [ - 'name' => 'StorageSetId', + 'name' => 'RecurrenceValue', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ss-bp67acfmxazb4p****', - ], + 'schema' => ['description' => 'The number of recurrences of the scheduled task.'."\n" + ."\n" + .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" + .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" + .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" + ."\n" + .'You must specify both the `RecurrenceType` parameter and the `RecurrenceValue` parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '1'], ], [ - 'name' => 'StorageSetPartitionNumber', + 'name' => 'TaskEnabled', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'Specifies whether to enable the scheduled task.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'CustomPriorities', + 'name' => 'LaunchExpirationTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The priority of the custom "ECS instance type + vSwitch" combination.'."\n" - ."\n" - .'> This setting is valid only if the scaling policy of the scaling group is a priority policy.'."\n" - ."\n" - .'If Auto Scaling cannot create ECS instances by using the custom "ECS instance type + vSwitch" combination of the highest priority, Auto Scaling creates ECS instances by using the custom "ECS instance type + vSwitch" combination of the next highest priority.'."\n" - ."\n" - .'> If you specify the priorities of only a part of custom "ECS instance type + vSwitch" combinations, Auto Scaling preferentially creates ECS instances by using the custom combinations that have the specified priorities. If the custom combinations that have the specified priorities do not provide sufficient resources, Auto Scaling creates ECS instances by using the custom combinations that do not have the specified priorities based on the specified orders of vSwitches and instance types.'."\n" - ."\n" - .'* Example: The specified order of vSwitches for your scaling group is vsw1 and vsw2, and the specified order of instance types in your scaling configuration is type1 and type 2. In addition, you use CustomPriorities to specify \\["vsw2+type2", "vsw1+type2"]. In this example, the vsw2+type2 combination has the highest priority and the vsw2+type1 combination has the lowest priority. The vsw1+type2 combination has a higher priority than the vsw1+type1 combination.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The ECS instance type.'."\n" - ."\n" - .'> The ECS instance type must be included in the instance types specified in the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6a.4xlarge', - ], - 'VswitchId' => [ - 'description' => 'The vSwitch ID.'."\n" - ."\n" - .'> The vSwitch must be included in the vSwitch list of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The time period during which the failed scheduled task can be retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'default' => '600'], ], [ - 'name' => 'NetworkInterfaces', + 'name' => 'MinValue', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ENIs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ENI.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The ENI type. If you specify this parameter, you must use NetworkInterfaces to specify a primary ENI. In addition, you cannot specify SecurityGroupId or SecurityGroupIds. Valid values:'."\n" - ."\n" - .'* Primary: the primary ENI.'."\n" - .'* Secondary: the secondary ENI.'."\n" - ."\n" - .'Default value: Secondary.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Primary', - ], - 'NetworkInterfaceTrafficMode' => [ - 'description' => 'The communication mode of the ENI. Valid values:'."\n" - ."\n" - .'* Standard: uses the TCP communication mode.'."\n" - .'* HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.'."\n" - ."\n" - .'Default value: Standard.'."\n" - ."\n" - .'> The number of ERIs on an instance cannot exceed the maximum number of ERIs supported by the instance type. For more information, see [Overview of instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HighPerformance', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of randomly generated IPv6 addresses that you want to allocate to the primary ENI. Before you specify this parameter, take note of the following items:'."\n" - ."\n" - .'This parameter takes effect only if you set NetworkInterface.InstanceType to Primary. If you set NetworkInterface.InstanceType to Secondary or leave it empty, you cannot specify this parameter.'."\n" - ."\n" - .'After you specify this parameter, you can no longer specify Ipv6AddressCount.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityGroupIds' => [ - 'description' => 'The IDs of the security groups to which you want to assign the ENI.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group to which you want to assign the ENI. Before you specify this parameter, take note of the following items:'."\n" - ."\n" - .'* If you set NetworkInterface.InstanceType to Primary, you must also specify this parameter. This parameter has the same effect as SecurityGroupIds. You can specify only SecurityGroupId or SecurityGroupIds.'."\n" - .'* If you set NetworkInterface.InstanceType to Secondary or leave it empty, this parameter is optional. By default, the primary ENI and the ECS instances created from the scaling configuration share the same security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-2ze55shrxxxxx', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], [ - 'name' => 'DedicatedHostClusterId', + 'name' => 'MaxValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host cluster.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dc-zm04u8r3lohsq****', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'SecurityOptions', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" + ."\n" + .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group. If you specify this parameter, the number of instances in the scaling group will be changed when the scheduled task is triggered.'."\n" + ."\n" + .'If you specify `ScalingGroupId`, you must also specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'ConfidentialComputingMode' => [ - 'description' => 'The confidential computing mode. Valid values:'."\n" - ."\n" - .'* Enclave: An enclave-based confidential computing environment is built on the instance. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" - .'* TDX: A Trust Domain Extensions (TDX) confidential computing environment is built on the instance. For more information, see [Build a TDX confidential computing environment](~~479090~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TDX', - ], + '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****'], ], - 'required' => false, + 'description' => '', ], ], - [ - 'name' => 'HttpEndpoint', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" - ."\n" - .'* enabled'."\n" - .'* disabled'."\n" - ."\n" - .'Default value: enabled.'."\n" - ."\n" - .'> For information about instance metadata, see [Obtain instance metadata](~~108460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'enabled', + ], + 'title' => 'CreateScheduledTask', + 'summary' => 'Creates a scheduled task. A scheduled task is a type of scaling task that enables automatic execution of a specific scaling rule at a specified point in time. You can call the CreateScheduledTask operation to create a scheduled task to implement automatic scaling of computing resources. This ensures your business continuity and minimizes resource costs.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HttpTokens', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly use the security hardening mode (IMDSv2) to access instance metadata. Valid values:'."\n" - ."\n" - .'* optional: does not forcibly use the security hardening mode (IMDSv2).'."\n" - .'* required: forcibly uses the security hardening mode (IMDSv2). If you set this parameter to required, you cannot access instance metadata in normal mode.'."\n" - ."\n" - .'Default value: optional.'."\n" - ."\n" - .'> For more information about instance metadata access modes, see [Access modes of instance metadata](~~108460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optional', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125349', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ [ - 'name' => 'InternetMaxBandwidthIn', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10. The default value is 10.'."\n" - .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the value of `InternetMaxBandwidthOut`. The default value is the value of `InternetMaxBandwidthOut`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'ResourcePoolOptions', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'style' => 'flat', + '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' => [ - 'description' => 'The resource pools used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. When you specify this parameter, take note of the following items:'."\n" - ."\n" - .'* This parameter takes effect only when you create pay-as-you-go instances.'."\n" - .'* If you specify this parameter, you cannot specify PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.'."\n", 'type' => 'object', 'properties' => [ - 'Strategy' => [ - 'description' => 'The resource pool used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. Valid values:'."\n" - ."\n" - .'* PrivatePoolFirst: prioritizes private pools. When this option is set along with ResourcePoolOptions.PrivatePoolIds, the specified private pools are used first. If you leave ResourcePoolOptions.PrivatePoolIds empty or if the specified private pools lack sufficient capacity, the system will automatically use available open private pools instead. If no matching private pools are available, the system defaults to the public pool.'."\n" - .'* PrivatePoolOnly: uses only private pools. If you use this value, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pools lack sufficient capacity, instance creation will fail.'."\n" - .'* None: uses no resource pools.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PrivatePoolFirst', - ], - 'PrivatePoolIds' => [ - 'description' => 'The IDs of private pools. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated. You can specify the IDs of only targeted private pools for this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as that of the elasticity assurance or capacity reservation for which the private pool is generated. You can specify the ID of only a targeted private pool for this parameter. You can specify 1 to 20 private pools.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eap-bp67acfmxazb4****', - ], - 'required' => false, - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DeleteAlarm', + 'summary' => 'Deletes an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you no longer need an event-triggered task, you can call the DeleteAlarm operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + ], + 'DeleteDiagnoseReport' => [ + 'summary' => 'Deletes a health diagnosis report for a scaling group.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '221454', + 'abilityTreeNodes' => ['FEATUREessXZ2M1E'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ReportId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dr-j6c7wvdzk5103xxxxx', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information that is returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'example' => '', + ], + ], + ], + 'title' => 'DeleteDiagnoseReport', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyScalingConfiguration', - 'description' => '* 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" - ."\n" - .'* If you want to bind a primary elastic network interface (ENI) when you call this operation, you must use one of the following methods. If you use the following methods at the same time, the call fails and an error is reported. In addition, if you use one of the following methods to modify the ENI information when you call this operation, the ENI information configured by using the other method is cleared.'."\n" - ."\n" - .' * You can specify SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount to configure ENI-related information.'."\n" - .' * You can specify NetworkInterfaces to configure primary and secondary ENIs. You must use NetworkInterface to specify at least one primary ENI. If you set NetworkInterface.InstanceType to Primary, it specifies that a primary ENI is configured. If you set NetworkInterface.InstanceType to Secondary or leave it empty, it specifies that a secondary ENI is configured.'."\n", ], - 'DeleteScalingConfiguration' => [ - 'summary' => 'Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteEciScalingConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', - 'abilityTreeCode' => '125387', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', - ], + 'abilityTreeCode' => '125381', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], ], 'parameters' => [ [ 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asc-bp1bx8mzur534edp****', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1bx8mzur534edp****'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request. The request ID is returned regardless of whether the call is successful.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n" + ."\n" + .'The request ID is consistently returned in the response, irrespective of whether the request is executed successfully or encounters an error.'."\n", 'type' => 'string', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'], ], - 'enumValueTitles' => [], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteScalingConfiguration', - 'description' => 'You cannot delete a scaling configuration in one of the following scenarios:'."\n" - ."\n" - .'* The scaling configuration in your scaling group is in the Active state.'."\n" - .'* The scaling group contains ECS instances that were created based on the scaling configuration.'."\n", - ], - 'CreateEciScalingConfiguration' => [ - 'summary' => 'Creates a scaling configuration of the Elastic Container Instance type. Auto Scaling uses the scaling configuration as a template to create elastic container instances to meet your business requirements during scale-out events.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteEciScalingConfiguration', + 'summary' => 'Deletes a scaling configuration of the Elastic Container Instance type. If the scaling configuration of a scaling group is in the Inactive state and the scaling group contains no elastic container instances created from the scaling configuration, you can call the DeleteEciScalingConfiguration operation to delete the scaling configuration to free up the scaling configuration quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","type":"json"}]', + ], + 'DeleteLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125325', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '125343', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp14g3ee6bt3sc98****'], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique in a scaling group within a region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'scalingconfig****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'Description', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'desc', - ], + 'schema' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" - ."\n" - .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], ], ], - [ - 'name' => 'ContainerGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name series of elastic container instances.'."\n" - ."\n" - .'If you want to use an ordered instance name, specify the value for this parameter in the following format: name_prefix\\[begin_number,bits]name_suffix.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'nginx-test', + ], + 'title' => 'DeleteLifecycleHook', + 'summary' => 'Deletes a lifecycle hook. If you no longer require a lifecycle hook, you can call the DeleteLifecycleHook operation to delete it, which frees up the lifecycle hook quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteNotificationConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RestartPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of elastic container instances. Valid values:'."\n" - ."\n" - .'* Always: always restarts elastic container instances.'."\n" - .'* Never: never restarts elastic container instances.'."\n" - .'* OnFailure: restarts elastic container instances upon failures.'."\n" - ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125346', + 'abilityTreeNodes' => ['FEATUREessJ2FJEV'], + ], + 'parameters' => [ [ - 'name' => 'Cpu', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs per elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'Memory', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of the scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud cloud.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], - [ - 'name' => 'DnsPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: uses the DNS that is specified by DnsConfig.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteNotificationConfiguration', + 'summary' => 'Deletes event notification rules. The event notification feature facilitates efficient issue identification and event management by automatically forwarding notifications from Auto Scaling to designated endpoints such as CloudMonitor or Message Service (MNS) topics and queues. If you no longer require an event notification rule, you can call the DeleteNotificationConfiguration operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DeleteScalingConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableSls', - 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125387', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], + ], + 'parameters' => [ [ - 'name' => 'ImageSnapshotId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asc-bp1bx8mzur534edp****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request. The request ID is returned regardless of whether the call is successful.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'enumValueTitles' => [], ], ], - [ - 'name' => 'RamRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the instance Resource Access Management (RAM) role. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [RAM roles](~~61175~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamTestRole', + ], + 'title' => 'DeleteScalingConfiguration', + 'summary' => 'Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TerminationGracePeriodSeconds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The buffer time during which a program handles operations before the program stops. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125373', + 'abilityTreeNodes' => ['FEATUREess909XOL'], + ], + 'parameters' => [ [ - 'name' => 'AutoMatchImageCache', + 'name' => 'ScalingGroupId', '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 ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'ForceDelete', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enforce the deletion of the scaling group, including the removal of the current ECS instances or elastic container instances from the scaling group and their subsequent release, even if the scaling group is actively undergoing scaling activities. Valid values:'."\n" + ."\n" + .'* true: enforces the deletion of the scaling group. In this case, the scaling group first enters the Disabled state, ceasing acceptance of new scaling requests. Auto Scaling awaits the conclusion of all ongoing scaling activities in the scaling group before it automatically removes the current ECS instances or elastic container instances from the scaling group and enforces the deletion operation. Note that manually added instances are merely removed from the scaling group, whereas auto-provisioned instances are removed and deleted.'."\n" + ."\n" + .'* false: does not enforce the deletion of the scaling group. The scaling group will be disabled and then deleted once all the following requirements are satisfied:'."\n" + ."\n" + .' * The scaling group has no ongoing scaling activities.'."\n" + .' * The scaling group contains no ECS instances or elastic container instances (Total Capacity=0).'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ActiveDeadlineSeconds', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', ], ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance bidding policy. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', + ], + 'title' => 'DeleteScalingGroup', + 'summary' => 'Deletes a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can create scaling groups to manage your computing power with ease. The computing power refers to the instances that provide the computing capability. If you no longer require a scaling group, you can call the DeleteScalingGroup operation to delete it to free up the scaling group quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteScalingRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SpotPriceLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125395', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], + ], + 'parameters' => [ [ - 'name' => 'AutoCreateEip', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the scaling rule that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp163l21e07uhnyt****'], ], [ - 'name' => 'EipBandwidth', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], - [ - 'name' => 'HostName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname series of elastic container instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', + ], + 'title' => 'DeleteScalingRule', + 'summary' => 'Deletes a scaling rule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IngressBandwidth', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125331', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', '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 ID of the scheduled task. An ID is a globally unique identifier (GUID) that is generated by the system for a scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****'], ], [ - 'name' => 'EgressBandwidth', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteScheduledTask', + 'summary' => 'Deletes scheduled tasks. For workloads with predictable patterns, you can create scheduled tasks to align with your business requirements and optimize resource utilization for cost savings. These tasks automatically ensure that sufficient computing resources are provisioned in anticipation of peak hours and efficiently release unused resources during off-peak hours, thereby streamlining operational efficiency and reducing expenses. If you no longer require a scheduled task, you can call the DeleteScheduledTask operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeAlarms' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CpuOptionsCore', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125355', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter for specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The region ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'CpuOptionsThreadsPerCore', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter for specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the scaling group with which the event-triggered task is associated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'EphemeralStorage', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of performance level 1 (PL1) is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'The load balancing weight of each elastic container instance. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + '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' => 'Tags', + 'name' => 'IsEnable', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of elastic container instances. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'* A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the elastic container instance. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the elastic container instance.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value of the elastic container instance.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'Specifies whether to enable the event-triggered task. Valid values:'."\n" + ."\n" + .'* true: enables the event-triggered task.'."\n" + .'* false: disables the event-triggered task.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'ImageRegistryCredentials', + 'name' => 'MetricType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The image repositories.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The image repository.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword '."\n", - ], - 'Server' => [ - 'description' => 'The endpoint of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: a system metric of CloudMonitor'."\n" + .'* custom: a custom metric that is reported to CloudMonitor.'."\n" + .'* hybrid: a metric of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'true', 'default' => 'system'], ], [ - 'name' => 'Containers', + 'name' => 'MetricName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The containers per elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The monitoring data of containers.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum count of consecutive successes that must occur for a readiness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permission that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets for readiness probing.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests for readiness probing. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'Ports' => [ - 'description' => 'The ports.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* TCP.'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port. 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 the root file system on which the container runs is read-only.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variable.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the \\[0-9a-zA-Z] format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin '."\n", - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fieldPath', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets for liveness probing.'."\n", - '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 command is a /bin/bash command, set the value to true.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/ '."\n", - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests for liveness probing. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port over which you want to send HTTP GET requests for readiness probing.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Args' => [ - 'description' => 'The startup arguments of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup argument of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Gpu' => [ - 'description' => 'The number of GPUs per container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapse from the startup of the container to the start time of a readiness probe. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size that you want to allocate to the container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx '."\n", - ], - 'Image' => [ - 'description' => 'The image in the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapse from the startup of the container to the start time of a liveness probe. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'VolumeMounts' => [ - 'description' => 'The volume mounts of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume mount of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed on the volume or its subdirectories are not propagated to the volume.'."\n" - .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories are propagated to the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories are propagated to the volume. All volume mounts executed on the container are not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory in which the container mounts the volume.'."\n" - ."\n" - .'> Data in this directory is overwritten by data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The volume name. The value of this parameter is the same as the value of Volumes.Name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1 '."\n", - ], - 'SubPath' => [ - 'description' => 'The volume subdirectory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'data2/ '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum count of consecutive failures that must occur for a liveness probe to be classified as failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Commands' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum count of consecutive failures that must occur for a readiness probe to be classified as failed. Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, image pulling is performed.'."\n" - .'* IfNotPresent: Image pulling is performed based on your business requirements. On-premises images are used by default. If no on-premises images are available, images are pulled from remote sources.'."\n" - .'* Never: Image pulling is not performed. On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams remain connected during multiple sessions if Stdin is set to true.'."\n" - ."\n" - .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port over which you want to send HTTP GET requests for liveness probing.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which you want to send HTTP GET requests for liveness probing.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz '."\n", - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum count of consecutive successes that must occur for a liveness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Commands' => [ - 'description' => 'The commands that you want to run by using the CLI for liveness probing within the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you want to run by using the CLI for liveness probing within the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which you want to send HTTP GET requests for readiness probing.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthz '."\n", - ], - 'LivenessProbe.Exec.Commands' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 21, - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port over which you want to send HTTP GET requests to configure the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5050', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests that you want to send to configure the postStart callback function. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS', - ], - 'LifecyclePostStartHandlerExecs' => [ - 'description' => 'The commands that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port over which you want to send HTTP GET requests to configure the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '88', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET requests that you want to send to configure the preStop callback function. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LifecyclePreStopHandlerExecs' => [ - 'description' => 'The commands that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '90', - ], - ], - 'required' => false, - ], - 'required' => false, - 'docRequired' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The metric name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization'], ], [ - 'name' => 'Volumes', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ConfigFileVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The size of the volume. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path to the NFS volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/share '."\n", - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the file system that you want to mount. The default value is determined by the script of FlexVolume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ext4 '."\n", - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the disk volume. We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - '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 permissions on the NFS volume are read-only. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path on the host.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/path '."\n", - ], - 'FlexVolume.Options' => [ - 'description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n" - ."\n" - .'For example, if you use FlexVolume to mount a disk, specify the value in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The ID of the disk volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx '."\n", - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1 '."\n", - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium of the emptyDir volume. By default, this parameter is left empty. In this case, the emptyDir volume uses the file system of the node as the storage medium. A value of memory specifies that the emptyDir volume uses the memory as the storage medium.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The paths to the configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The path to the configuration file.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Mode' => [ - 'description' => 'The permissions on the configuration file.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file (32 KB).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk= '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 90, - ], - 'EmptyDirVolume.SizeLimit' => [ - 'description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '256Mi', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '10', 'default' => '10'], ], [ - 'name' => 'InitContainers', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'InitContainerEnvironmentVars' => [ - 'description' => 'The environment variables of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variable of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Path '."\n", - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/ '."\n", - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'path', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'SecurityContext.Capability.Adds' => [ - 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalCount' => ['description' => 'The total number of event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'AlarmList' => [ + 'description' => 'The event-triggered tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The event-triggered task.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], + 'MetricName' => ['description' => 'The metric name. Valid values:'."\n" ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'InitContainerPorts' => [ - 'description' => 'The ports of init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + .'* CpuUtilization: the CPU utilization of an Elastic Compute Service (ECS) instance. Unit: %.'."\n" + .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" + .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .'* VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" + .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .'* MemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadAverage: the average system load.'."\n" + .'* TcpConnection: the total number of TCP connections.'."\n" + .'* TcpConnection: the number of established TCP connections.'."\n" + .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'example' => 'CpuUtilization'], + 'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is executed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'State' => ['description' => 'The status of the event-triggered task. Valid values:'."\n" + ."\n" + .'* ALARM: The alert condition is met and an alert is triggered.'."\n" + .'* OK: The alert condition is not met.'."\n" + .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", 'type' => 'string', 'example' => 'ALARM'], + 'Period' => ['description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set the value of this parameter to 15 Seconds only for scaling groups of the ECS type.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the event-triggered task is associated.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'], + 'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the metric threshold.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" + .'* Valid value if the metric value is greater than the threshold: >.'."\n" + .'* Valid value if the metric value is less than the threshold: <.'."\n", 'type' => 'string', 'example' => '>='], + 'Effective' => ['description' => 'The effective period of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'Test'], + 'Description' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'Test alarm task.'], + 'MetricType' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => 'system'], + 'Name' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'TestAlarmTask'], + 'Threshold' => ['description' => 'The threshold of the metric. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '80.0'], + 'Enable' => ['description' => 'Indicates whether the event-triggered task feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Statistics' => ['description' => 'The method that is used to aggregate the metric data. Valid values:'."\n" + ."\n" + .'* Average: the average value'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n", 'type' => 'string', 'example' => 'Average'], + 'Dimensions' => [ + 'description' => 'The metric dimensions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the dimensions.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric. Valid values:'."\n" + ."\n" + .'* user_id: the ID of your Alibaba Cloud account.'."\n" + .'* scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" + .'* device: the NIC type.'."\n" + .'* state: the status of the TCP connection.'."\n", 'type' => 'string', 'example' => 'device'], + 'DimensionValue' => ['description' => 'The dimension value of the metric. The value of DimensionValue varies based on the value of DimensionKey.'."\n" + ."\n" + .'* If you set DimensionKey to `user_id`, the system specifies the value of DimensionValue.'."\n" + ."\n" + .'* If you set DimensionKey to `scaling_group`, the system specifies the value of DimensionValue.'."\n" + ."\n" + .'* If you set DimensionKey to `device`, you can set DimensionValue to eth0 or eth1.'."\n" + ."\n" + .' * For instances of the classic network type, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * For instances of the classic network type, eth1 indicates the public NIC.'."\n" + ."\n" + .'* If you set DimensionKey to `state`, you can set DimensionValue to TCP_TOTAL or ESTABLISHED.'."\n" + ."\n" + .' * TCP_TOTAL indicates the total number of TCP connections.'."\n" + .' * ESTABLISHED indicates the number of TCP connections that are established.'."\n", 'type' => 'string', 'example' => 'eth0'], + ], ], ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'InitContainerVolumeMounts' => [ - 'description' => 'The volume mounts of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume mount of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" - .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. All volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the init container mounts the volume. The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty '."\n", + 'AlarmActions' => [ + 'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The unique identifier of the scaling rule that is associated with the event-triggered task.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****'], + ], + 'Expressions' => [ + 'description' => 'The alert conditions of the multi-metric alert rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The name of the metric that is specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" + .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .'* VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" + .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .'* MemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadAverage: the average system load.'."\n" + .'* TcpConnection: the total number of TCP connections.'."\n" + .'* TcpConnection: the number of established TCP connections.'."\n" + .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'example' => 'CpuUtilization'], + 'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the threshold.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" + .'* Valid value if the metric value is greater than the threshold: >.'."\n" + .'* Valid value if the metric value is less than the threshold: <.'."\n", 'type' => 'string', 'example' => '>='], + 'Period' => ['description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set Period to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '900'], + 'Statistics' => ['description' => 'The method that is used to aggregate statistics about the metrics in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average: the average value'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n", 'type' => 'string', 'example' => 'Average'], + 'Threshold' => ['description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '40.0'], + ], ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', + ], + 'ExpressionsLogicOperator' => ['description' => 'The relationship between the trigger conditions that are specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet their trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered only if one of the metrics in the multi-metric alert rule meets its trigger condition.'."\n", 'type' => 'string', 'example' => '&&'], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'example' => 'aliyun-test'], + 'HybridMetrics' => [ + 'description' => 'The Hybrid Cloud Monitoring metrics.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'example' => 'a'], + 'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'example' => '(a+b)/2'], + 'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible'], + 'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" + .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" + .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", 'type' => 'string', 'example' => 'Average'], + 'Dimensions' => [ + 'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'queue'], + 'DimensionValue' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'testQueue'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], - 'required' => false, + 'PromQL' => ['description' => 'The PromQL statement of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => '(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)'], ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local '."\n", - ], - 'Commands' => [ - 'description' => 'The startup commands of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup command of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep '."\n", - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Args' => [ - 'description' => 'The startup arguments of the init container. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup argument of the init container. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the init container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs per init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory size per init container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-init '."\n", ], ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 21, ], ], - [ - 'name' => 'DnsConfigNameServers', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IP addresses of the DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.** '."\n", + ], + 'title' => 'DescribeAlarms', + 'summary' => 'Queries event-triggered tasks. You can call the DescribeAlarms operation to learn about the configurations of event-triggered tasks and keep updated on monitoring data changes. This helps you troubleshoot system resource issues at the earliest opportunity and ensures system stability and reliability.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"Test\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ],\\n \\"AlarmActions\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ],\\n \\"Expressions\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ],\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ],\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeAlertConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsConfigSearchs', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '208814', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The search domains of the DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes '."\n", - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'DnsConfigOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value '."\n", - ], - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScaleStatuses' => [ + 'description' => 'The status of the scaling activities that trigger text message, internal message, or email-based notifications.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n" + ."\n" + .'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n" + .'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n" + .'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'ScaleSuccessful'], ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', ], ], - [ - 'name' => 'HostAliases', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The custom hostnames of the containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The custom hostname of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address of the container that you want to add.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1 '."\n", - ], - 'Hostnames' => [ - 'description' => 'The hostnames of the containers that you want to add.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname of the container that you want to add.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hehe.com '."\n", - ], - 'required' => false, - 'maxItems' => 51, - ], - ], - 'required' => false, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeAlertConfiguration', + 'summary' => 'Queries the status of scaling activities that trigger text message, internal message, or email-based notifications. When you call the DescribeAlertConfiguration operation, you must specify the scaling group ID and region ID to query the status of the desired scaling activities. A scaling activity can be in one of the following states: Successful, Failed, and Rejected.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 101, ], ], + ], + ], + 'DescribeCandidateInstanceType' => [ + 'summary' => 'Lists candidate instance types.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SecurityContextSysctls', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The variable name of the security context in which the container group runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'NtpServers', + 'name' => 'InstanceTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'maxItems' => 20, + 'description' => 'The specified ECS instance types.', 'type' => 'array', - 'items' => [ - 'description' => 'The endpoint of the NTP server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', - ], + 'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AcrRegistryInfos', + 'name' => 'ZoneIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'maxItems' => 20, + 'description' => 'The specified availability zones.', 'type' => 'array', - 'items' => [ - 'description' => 'The Container Registry Enterprise Edition instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Domains' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com '."\n", - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test '."\n", - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3**** '."\n", - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing '."\n", - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CostOptimization', + 'name' => 'AllowDifferentGeneration', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to include instance types from other generations as candidates.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, you can set this parameter to true to include instance types such as ecs.c6.large and ecs.c8.large in the list of candidates.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceFamilyLevel', + 'name' => 'AllowCrossAz', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance family. You can specify this parameter to match the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective, but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'Specifies whether to include vSwitches from other availability zones as candidates.'."\n" + ."\n" + .'> The instance types remain unchanged. Only new availability zones are added as candidates. If a scaling group fails to scale out in all selected availability zones due to issues such as insufficient inventory, Auto Scaling automatically adds a vSwitch in a new availability zone to the scaling group based on this setting.'."\n" + .'> For example, if a scaling group is configured for the cn-hangzhou-h and cn-hangzhou-g availability zones and a scale-out fails in both zones, Auto Scaling may create a vSwitch in the cn-hangzhou-k availability zone and add it to the scaling group based on real-time inventory.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceTypes', + 'name' => 'MaxPrice', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ECS instance types that you want to use to create elastic container instances. You can specify up to five ECS instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ECS instance type that you want to use to create elastic container instances. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The maximum price for a candidate instance type.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'DataCacheBucket', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket that you want to use to store data caches.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'The bidding strategy for pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a standard pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum price.'."\n" + ."\n" + .'- SpotAsPriceGo: a spot instance where the system automatically bids at the market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'DataCachePL', + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The PL of the cloud disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values:'."\n" + 'maxItems' => 100, + 'description' => 'The system disk categories, ordered by priority from high to low. If Auto Scaling cannot create a system disk by using a higher-priority category, it tries the next one in the list.', + 'type' => 'array', + 'items' => ['description' => 'The category of the system disk. Valid values:'."\n" ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + .'- cloud: basic cloud disk.'."\n" ."\n" - .'Default value: PL1.'."\n" + .'- cloud\\_efficiency: ultra cloud disk.'."\n" ."\n" - .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - ], - [ - 'name' => 'DataCacheProvisionedIops', - 'in' => 'query', - 'schema' => [ - 'description' => 'The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × *Capacity, 50,000}.'."\n" + .'- cloud\\_ssd: SSD cloud disk.'."\n" + ."\n" + .'- cloud\\_essd: ESSD.'."\n" ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> If you specify this parameter, you cannot specify `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '40000', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DataCacheBurstingEnabled', + 'name' => 'DataDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable the performance burst feature when ESSD AutoPL disks are used to store data caches. Valid values:'."\n" + 'maxItems' => 100, + 'description' => 'The data disk categories, ordered by priority from high to low. If Auto Scaling cannot create a data disk by using a higher-priority category, it tries the next one in the list.', + 'type' => 'array', + 'items' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'- cloud\\_efficiency: ultra cloud disk.'."\n" ."\n" - .'Default value: false.'."\n" + .'- cloud\\_ssd: SSD cloud disk.'."\n" ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'boolean', + .'- cloud\\_essd: ESSD.'."\n" + ."\n" + .'- ephemeral\\_ssd: local SSD disk.', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''], 'required' => false, - 'example' => 'false', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'GpuDriverVersion', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the GPU driver. Valid values:'."\n" - ."\n" - .'* tesla=470.82.01 (default)'."\n" - .'* tesla=525.85.12'."\n" - ."\n" - .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tesla=525.85.12', - ], + 'schema' => ['description' => 'The ID of the image used to create instances.'."\n" + ."\n" + .'> If the specified image contains both a system disk and data disks, any existing data disk information in the scaling configuration is cleared.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. The name must be unique within a region. You cannot use this parameter to specify an image from Alibaba Cloud Marketplace.'."\n" + ."\n" + .'> This parameter is an alternative to the `ImageId` parameter. If you specify `ImageId`, `ImageName` is ignored.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. When specified, the latest image in this family is used to create instances. This parameter cannot be used with ImageId.'."\n" + ."\n" + .'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => '', + 'title' => 'Schema of Response ', 'type' => 'object', 'properties' => [ - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the elastic container instance (container group).'."\n", - 'type' => 'string', - 'example' => 'eci-uf6fonnghi50u374****', + 'RequestId' => ['title' => 'ID of the request ', 'description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'CandidateInstanceTypes' => [ + 'description' => 'A list of candidate ECS instance types.', + 'type' => 'array', + 'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'example' => 'ecs.c7a.2xlarge', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', + 'CandidateZoneIds' => [ + 'description' => 'A list of candidate availability zones.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'example' => 'cn-hangzhou-k', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"eci-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', - 'title' => 'CreateEciScalingConfiguration', - 'description' => 'A scaling configuration is a template that is used to create elastic container instances during scale-out events.'."\n" - ."\n" - .'You can specify CPU and Memory 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 by using the lowest-priced instance type. This method applies only if you set Scaling Policy to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query candidate instance types ', + 'changeSet' => [], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"CandidateInstanceTypes\\": [\\n \\"ecs.c7a.2xlarge\\"\\n ],\\n \\"CandidateZoneIds\\": [\\n \\"cn-hangzhou-k\\"\\n ]\\n}","type":"json"}]', ], - 'DescribeEciScalingConfigurations' => [ - 'summary' => 'Queries scaling configurations of the Elastic Container Instance type. When you call the DescribeEciScalingConfigurations operation, you can specify ScalingGroupId, ScalingConfigurationIds, or ScalingConfigurationNames to query details about the desired scaling configurations, such as the instance bidding policy, instance type, image pulling policy, and load balancing weight of each elastic container instance. This can help you select a suitable template for creating elastic container instances or reference existing scaling configurations before you modify the automatic scaling policy for elastic container instances.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDiagnoseReports' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13392,1329 +6498,142 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '125390', - 'abilityTreeNodes' => [ - 'FEATUREessU7F1S4', - ], + 'abilityTreeCode' => '221362', + 'abilityTreeNodes' => ['FEATUREessA4Z14P'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen'], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2vcis7yglxtm*****'], ], [ - 'name' => 'ScalingConfigurationIds', + 'name' => 'ReportIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration IDs.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of `LifecycleState`.'."\n", + 'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the scaling configuration that you want to query.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of LifecycleState.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' asc-bp17pelvl720x5ub****', - ], + 'items' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-j6c7wvdzk5103bkm8cx4'], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 20, + 'minItems' => 0, ], ], [ - 'name' => 'ScalingConfigurationNames', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration names.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of scaling configuration that you want to query.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingcon**** '."\n", - ], - 'required' => false, - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingConfigurations' => [ - 'description' => 'The scaling configurations.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996'], + 'Reports' => [ + 'description' => 'The diagnostic reports.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The scaling configuration.'."\n", + 'description' => 'The diagnostic report.'."\n", 'type' => 'object', 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time at which the scaling configuration was created.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'ScalingConfigurationName' => [ - 'description' => 'The name of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'scalingconfi****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group with which elastic container instances are associated. Elastic container instances that are associated with the same security group can communicate with each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'ActiveDeadlineSeconds' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy for elastic container instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'AutoCreateEip' => [ - 'description' => 'Indicates whether elastic IP addresses (EIPs) are automatically created and bound to elastic container instances.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - 'EphemeralStorage' => [ - 'description' => 'The capacity of the ephemeral storage. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Description' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'This is an example.', - ], - 'EipBandwidth' => [ - 'description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ImageSnapshotId' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], - 'Memory' => [ - 'description' => 'The memory size.'."\n" - ."\n" - .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. After you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify CPU and Memory to define instance types only if you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16', - ], - 'RestartPolicy' => [ - 'description' => 'The restart policy of elastic container instances. Valid values:'."\n" - ."\n" - .'* Never: Elastic container instances are never restarted.'."\n" - .'* Always: Elastic container instances are always restarted.'."\n" - .'* OnFailure: Elastic container instances are restarted upon failures.'."\n", - 'type' => 'string', - 'example' => 'Never', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for preemptible elastic container instances.'."\n" - ."\n" - .'This parameter is returned only if you set SpotStrategy to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - 'IngressBandwidth' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'CpuOptionsThreadsPerCore' => [ - 'description' => 'The number of threads per core. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The buffer time during which a program handles operations before the program stops.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The load balancing weight of each elastic container instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DnsPolicy' => [ - 'description' => 'The Domain Name System (DNS) policy.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'HostName' => [ - 'description' => 'The hostname series.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - 'EgressBandwidth' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'RegionId' => [ - 'description' => 'The region ID of elastic container instances.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RamRoleName' => [ - 'description' => 'The Resource Access Management (RAM) role of elastic container instances. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'AutoMatchImageCache' => [ - 'description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-8db03793gfrz****', - ], - 'ContainerGroupName' => [ - 'description' => 'The name series of elastic container instances.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ezrfgoyn5kijl****', - ], - 'CpuOptionsCore' => [ - 'description' => 'The number of physical CPU cores. This parameter can be specified for only specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SlsEnable' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'boolean', - 'example' => 'False', - ], - 'Containers' => [ - 'description' => 'The containers in an elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The containers in the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'ReadinessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LivenessProbePeriodSeconds' => [ - 'description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LivenessProbeTcpSocketPort' => [ - 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LivenessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform liveness probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'Tty' => [ - 'description' => 'Indicates whether the Interaction feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'LivenessProbeHttpGetPort' => [ - 'description' => 'The port to which HTTP GET requests are sent to perform liveness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size per container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The custom name of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'SecurityContextReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LivenessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform liveness probes.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/', - ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'example' => 'mysql', - ], - 'ReadinessProbeTcpSocketPort' => [ - 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - 'ReadinessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'ReadinessProbeHttpGetPort' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '/usr/nginx/', - ], - 'LivenessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'LivenessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbePeriodSeconds' => [ - 'description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Each time image pulling is performed.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" - ."\n" - .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'LivenessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LivenessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Ports' => [ - 'description' => 'The exposed ports and protocols.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The exposed ports and protocols of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - ], - ], - 'VolumeMounts' => [ - 'description' => 'The mounted volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volumes that are mounted on the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The volume subdirectory.'."\n", - 'type' => 'string', - 'example' => 'data2/', - ], - 'Name' => [ - 'description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation settings. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" - .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted.'."\n" - ."\n" - .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", - 'type' => 'string', - 'example' => '/pod/data', - ], - ], - ], - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the environment variables.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'path', - ], - ], - ], - ], - 'Commands' => [ - 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command. You can specify up to 20 commands. Each command contains up to 256 characters.'."\n", - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'LivenessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform liveness probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'Args' => [ - 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'example' => '100', - ], - ], - 'ReadinessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform readiness probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port over which HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'string', - 'example' => '/healthyz', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET requests that are sent for configuring the postStart callback function.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'LifecyclePostStartHandlerExecs' => [ - 'description' => 'The commands that are run for configuring the postStart callback function by using the CLI within the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run for configuring the postStart callback function by using the CLI within the container.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets used for configuring the postStart callback function.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets used for configuring the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port over which HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'string', - 'example' => '/healthyz'."\n", - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP Get requests that are sent for configuring the preStop callback function.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'LifecyclePreStopHandlerExecs' => [ - 'description' => 'The commands that are run for configuring the preStop callback function by using the CLI within the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that is run for configuring the preStop callback function by using the CLI within the container.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets used for configuring the preStop callback function.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets used for configuring the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'InitContainers' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecurityContextReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs per init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the init container.'."\n", - 'type' => 'string', - 'example' => '587', - ], - 'Memory' => [ - 'description' => 'The memory size per init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'example' => 'test-init', - ], - 'InitContainerEnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the environment variables.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/local/bin', - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'path', - ], - ], - ], - ], - 'InitContainerPorts' => [ - 'description' => 'The ports of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the init container ports.'."\n", - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - ], - ], - 'InitContainerVolumeMounts' => [ - 'description' => 'The volumes that are mounted to the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volumes that are mounted on the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the mount directory is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The volume subdirectory. A pod can mount different directories of the same volume to different directories of the init container.'."\n", - 'type' => 'string', - 'example' => '/usr/sub/', - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" - .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', - ], - ], - ], - ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'InitContainerCommands' => [ - 'description' => 'The container startup commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command.'."\n", - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'InitContainerArgs' => [ - 'description' => 'The container startup arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup argument.'."\n", - 'type' => 'string', - 'example' => '10', - ], - ], - ], - ], - ], - 'Tags' => [ - 'description' => 'The tags of elastic container instances. Tags are specified in the key-value format.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags of the elastic container instance. The tags are specified in the key-value pair format.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '3', - ], - ], - ], - ], - 'Volumes' => [ - 'description' => 'The volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the volumes.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The volume type. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The size of the disk volume. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '15', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The system type of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of a node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", - 'type' => 'string', - 'example' => 'memory', - ], - 'NFSVolumePath' => [ - 'description' => 'The path to the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'example' => '/share', - ], - 'DiskVolumeDiskSize' => [ - 'description' => 'The size of the disk volume. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'NFSVolumeReadOnly' => [ - 'description' => 'Indicates whether the NFS volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'FlexVolumeFsType' => [ - 'description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", - 'type' => 'string', - 'example' => 'ext4', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the FlexVolume driver.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" - ."\n" - .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", - 'type' => 'string', - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'NFSVolumeServer' => [ - 'description' => 'The endpoint of the NFS server.'."\n", - 'type' => 'string', - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The paths to configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The paths to configuration files.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path to the configuration file.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'Mode' => [ - 'description' => 'The permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file (32 KB).'."\n", - 'type' => 'string', - 'example' => 'bGl1bWk=', - ], - ], - ], - ], - 'EmptyDirVolumeSizeLimit' => [ - 'description' => 'The storage size of the emptyDir volume.'."\n", - 'type' => 'string', - 'example' => '256Mi', - ], - 'HostPathVolumeType' => [ - 'description' => 'The type of the HostPath volume.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'Directory', - ], - 'HostPathVolumePath' => [ - 'description' => 'The path to the HostPath volume on the host.'."\n", - 'type' => 'string', - 'example' => '/pod/data', - ], - ], - ], - ], - 'ImageRegistryCredentials' => [ - 'description' => 'The information about the image repository.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the image repository.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password of the image repository.'."\n", - 'type' => 'string', - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The domain name of the image repository.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username of the image repository.'."\n", - 'type' => 'string', - 'example' => 'yourusername '."\n", - ], - ], - ], - ], - 'DnsConfigOptions' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - 'HostAliases' => [ - 'description' => 'The hostnames and IP addresses for a container that are added to the hosts file of the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname aliases of a container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The added IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'Hostnames' => [ - 'description' => 'The added hostnames.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The added hostname.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - ], - ], - ], - ], - 'SecurityContextSysCtls' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The system name of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => 'kernel.msgmax', - ], - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => '65536', - ], - ], - ], - ], - 'AcrRegistryInfos' => [ - 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'UserId' => ['description' => 'The user ID of the scaling group.'."\n", 'type' => 'string', 'example' => '161456884*******'], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-qingdao'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp124uve5iph3*****'], + 'Details' => [ + 'description' => 'The details of the diagnostic report.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cri-nwj395hgf6f3****', - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'acr-test', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Domains' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - ], + 'DiagnoseType' => ['description' => 'The type of the diagnostic item. Valid values:'."\n" + ."\n" + .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account at the China site (aliyun.com) is greater than or equal to CNY 100.'."\n" + .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" + .'* VSwitch: Checks whether a specific vSwitch can work as expected. For example, if a vSwitch is deleted, the vSwitch cannot provide services and an exception occurs.'."\n" + .'* SecurityGroup: Checks whether a specific security group can work as expected. For example, if a security group is deleted, the security group cannot provide services and an exception occurs.'."\n" + .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" + .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the ALB instances associated with the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the NLB instances associated with the scaling group has reached the upper limit.'."\n", 'type' => 'string', 'example' => 'AccountArrearage'], + 'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'sg-280ih****'], + 'Status' => ['description' => 'The status of the diagnostic item. Valid values:'."\n" + ."\n" + .'* Normal: The diagnostic result is normal.'."\n" + .'* Warn: The diagnostic result is warning.'."\n" + .'* Critical: The diagnostic result is critical.'."\n", 'type' => 'string', 'example' => 'Normal'], + 'ErrorCode' => ['description' => 'The error code of the diagnostic item. Valid values:'."\n" + ."\n" + .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" + .'* SecurityGroupNotFound: The security group does not exist.'."\n" + .'* KeyPairNotFound: The key pair does not exist.'."\n" + .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" + .'* AccountArrearage: Your account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is less than CNY 100.'."\n" + .'* ElasticStrengthAlert: The inventory levels are lower than expected.'."\n", 'type' => 'string', 'example' => 'VSwitchIdNotFound'], ], + 'description' => '', ], ], - 'DnsConfigNameServers' => [ - 'description' => 'The IP addresses of the Domain Name Service (DNS) server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'example' => '172.10.*.**', - ], - ], - 'DnsConfigSearches' => [ - 'description' => 'The search domains of the DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domains of the DNS server.'."\n", - 'type' => 'string', - 'example' => 'svc.local.kubenetes', - ], - ], - 'NtpServers' => [ - 'description' => 'The endpoints of the Network Time Protocol (NTP) server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The endpoint of the NTP server.'."\n", - 'type' => 'string', - 'example' => 'ntp.cloud.aliyuncs.com', - ], - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the scaling configuration that is in the Active state to create instances during scale-out events.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create instances during scale-out events.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'CostOptimization' => [ - 'description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family, which is used to filter the available instance types that meet the specified requirements. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'InstanceTypes' => [ - 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - ], - 'DataCacheBucket' => [ - 'description' => 'The bucket that stores the data cache.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'DataCachePL' => [ - 'description' => 'The performance level (PL) of the cloud disk that stores the data cache. We recommend that you use enterprise SSDs (ESSDs). Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'DataCacheProvisionedIops' => [ - 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that stores the data cache. Valid values: 0 to min{50,000, 1000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40000', - ], - 'DataCacheBurstingEnabled' => [ - 'description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that stores the data cache. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'GpuDriverVersion' => [ - 'description' => 'The version of the GPU driver.'."\n", - 'type' => 'string', - 'example' => 'tesla=470.82.01', - ], + 'ReportId' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-bp14p0cjp7wvjob5l6hk'], + 'ProcessStatus' => ['description' => 'The status of the diagnostic report. Valid values:'."\n" + ."\n" + .'* processing: The diagnosis is in progress.'."\n" + .'* Finished: The diagnosis is complete.'."\n", 'type' => 'string', 'example' => 'Finished'], + 'DiagnoseStatus' => ['description' => 'The status of the diagnostic item. Only the severe status is displayed in the diagnostic report. Valid values:'."\n" + ."\n" + .'* Normal: The diagnostic result is normal.'."\n" + .'* Warn: The diagnostic result is warning.'."\n" + .'* Critical: The diagnostic result is critical.'."\n", 'type' => 'string', 'example' => 'Normal'], + 'CreationTime' => ['description' => 'The time when the diagnostic report was created.'."\n", 'type' => 'string', 'example' => '2024-08-23T02:22:30Z'], ], ], ], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalCount' => ['description' => 'The total number of diagnostic reports.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], ], ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'title' => 'DescribeDiagnoseReports', + 'summary' => 'DescribeDiagnoseReports', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeDiagnoseReports', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": true,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\\\t\\\\n\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeEciScalingConfigurations', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ECA123C6-107B-5F70-A177-740A7224C996\\",\\n \\"Reports\\": [\\n {\\n \\"UserId\\": \\"161456884*******\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ScalingGroupId\\": \\"asg-bp124uve5iph3*****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"AccountArrearage\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"VSwitchIdNotFound\\"\\n }\\n ],\\n \\"ReportId\\": \\"dr-bp14p0cjp7wvjob5l6hk\\",\\n \\"ProcessStatus\\": \\"Finished\\",\\n \\"DiagnoseStatus\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2024-08-23T02:22:30Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5\\n}","type":"json"}]', ], 'DescribeEciScalingConfigurationDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14725,42 +6644,23 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '212769', - 'abilityTreeNodes' => [ - 'FEATUREessU7F1S4', - ], + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing'], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration based on which elastic container instances are created.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], + 'schema' => ['description' => 'The ID of the scaling configuration based on which elastic container instances are created.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1ffogfdauy0nu5****'], ], [ 'name' => 'OutputFormat', @@ -14769,9 +6669,7 @@ 'description' => 'The output format. Set the value to YAML.'."\n", 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'YAML' => 'YAML', - ], + 'enumValueTitles' => ['YAML' => 'YAML'], 'example' => 'yaml', ], ], @@ -14781,199 +6679,58 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'], 'ScalingConfiguration' => [ 'description' => 'The information about the scaling configuration.'."\n", 'type' => 'object', 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the scaling configuration was created.'."\n", - 'type' => 'string', - 'example' => '2023-05-10T02:39:15Z', - ], - 'ScalingConfigurationName' => [ - 'description' => 'The name of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'scalingconfi****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group with which the elastic container instance is associated. Elastic container instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'ActiveDeadlineSeconds' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy of the instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'AutoCreateEip' => [ - 'description' => 'Indicates whether an elastic IP address (EIP) is automatically created and bound to the elastic container instance.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1frlu04fq4zv65b1bh', - ], - 'EphemeralStorage' => [ - 'description' => 'The size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Description' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'This is an example.', - ], - 'EipBandwidth' => [ - 'description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ImageSnapshotId' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'RestartPolicy' => [ - 'description' => 'The restart policy of the container group. Valid values:'."\n" - ."\n" - .'* Never: The container group is never restarted.'."\n" - .'* Always: The container group is always restarted.'."\n" - .'* OnFailure: The container group is restarted upon failures.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the preemptible instance.'."\n" - ."\n" - .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - 'IngressBandwidth' => [ - 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'CpuOptionsThreadsPerCore' => [ - 'description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The buffer time during which a program handles operations before the program stops.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of an elastic container instance as a Server Load Balancer (SLB) backend server. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'DnsPolicy' => [ - 'description' => 'The Domain Name System (DNS) policy.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'HostName' => [ - 'description' => 'The hostname.'."\n", - 'type' => 'string', - 'example' => 'hostname', - ], - 'EgressBandwidth' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10485760', - ], - 'RegionId' => [ - 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'RamRoleName' => [ - 'description' => 'The Resource Access Management (RAM) role of the elastic container instance. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole'."\n", - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'AutoMatchImageCache' => [ - 'description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmwozpmmksakq', - ], - 'ContainerGroupName' => [ - 'description' => 'The name of the container group.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-2zec39vg84usxdocme6a', - ], - 'CpuOptionsCore' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter for only specific instance types.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SlsEnable' => [ - 'description' => 'Indicates whether user logs are collected. Default value: **false**.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'CreationTime' => ['description' => 'The time when the scaling configuration was created.'."\n", 'type' => 'string', 'example' => '2023-05-10T02:39:15Z'], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'scalingconfi****'], + 'SecurityGroupId' => ['description' => 'The ID of the security group with which the elastic container instance is associated. Elastic container instances that are associated with the same security group can access each other.'."\n", 'type' => 'string', 'example' => 'sg-bp18kz60mefs****'], + 'ActiveDeadlineSeconds' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'SpotStrategy' => ['description' => 'The preemption policy of the instance. Valid values:'."\n" + ."\n" + .'* NoSpot: The instance is created as a regular pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot'], + 'AutoCreateEip' => ['description' => 'Indicates whether an elastic IP address (EIP) is automatically created and bound to the elastic container instance.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1frlu04fq4zv65b1bh'], + 'EphemeralStorage' => ['description' => 'The size of the temporary storage space. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Description' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'This is an example.'], + 'EipBandwidth' => ['description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ImageSnapshotId' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****'], + 'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" + ."\n" + .'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '4'], + 'RestartPolicy' => ['description' => 'The restart policy of the container group. Valid values:'."\n" + ."\n" + .'* Never: The container group is never restarted.'."\n" + .'* Always: The container group is always restarted.'."\n" + .'* OnFailure: The container group is restarted upon failures.'."\n", 'type' => 'string', 'example' => 'Always'], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the preemptible instance.'."\n" + ."\n" + .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025'], + 'IngressBandwidth' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'], + 'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'TerminationGracePeriodSeconds' => ['description' => 'The buffer time during which a program handles operations before the program stops.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'LoadBalancerWeight' => ['description' => 'The weight of an elastic container instance as a Server Load Balancer (SLB) backend server. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'DnsPolicy' => ['description' => 'The Domain Name System (DNS) policy.'."\n", 'type' => 'string', 'example' => 'Default'], + 'HostName' => ['description' => 'The hostname.'."\n", 'type' => 'string', 'example' => 'hostname'], + 'EgressBandwidth' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10485760'], + 'RegionId' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'example' => 'cn-shanghai'], + 'RamRoleName' => ['description' => 'The Resource Access Management (RAM) role of the elastic container instance. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", 'type' => 'string', 'example' => 'ram:PassRole'."\n"], + 'Cpu' => ['description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'], + 'AutoMatchImageCache' => ['description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmwozpmmksakq'], + 'ContainerGroupName' => ['description' => 'The name of the container group.'."\n", 'type' => 'string', 'example' => 'test'], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-2zec39vg84usxdocme6a'], + 'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. You can specify this parameter for only specific instance types.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'SlsEnable' => ['description' => 'Indicates whether user logs are collected. Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'false'], 'Containers' => [ 'description' => 'The containers in the elastic container instance.'."\n", 'type' => 'array', @@ -14981,193 +6738,55 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'ReadinessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform readiness probes.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'ReadinessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LivenessProbePeriodSeconds' => [ - 'description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LivenessProbeTcpSocketPort' => [ - 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LivenessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform liveness probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'WorkingDir' => [ - 'description' => 'The working directory in the container.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable the Interaction feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LivenessProbeHttpGetPort' => [ - 'description' => 'The port detected by HTTP Get requests when you use the HTTP requests to perform liveness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ReadinessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The container name.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'SecurityContextReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LivenessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform liveness probes.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/'."\n", - ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.aliyuncs.com/eci_open/alpine:3.5', - ], - 'ReadinessProbeTcpSocketPort' => [ - 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ReadinessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'ReadinessProbeHttpGetPort' => [ - 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP Get requests to perform readiness probes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LivenessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'LivenessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbePeriodSeconds' => [ - 'description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" - ."\n" - .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'LivenessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LivenessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], + 'ReadinessProbeHttpGetPath' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform readiness probes.'."\n", 'type' => 'string', 'example' => '/usr/local'], + 'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LivenessProbePeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'LivenessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform liveness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'WorkingDir' => ['description' => 'The working directory in the container.'."\n", 'type' => 'string', 'example' => '/usr/local/nginx'], + 'Tty' => ['description' => 'Specifies whether to enable the Interaction feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'LivenessProbeHttpGetPort' => ['description' => 'The port detected by HTTP Get requests when you use the HTTP requests to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'ReadinessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Stdin' => ['description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Memory' => ['description' => 'The memory size.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'], + 'Name' => ['description' => 'The container name.'."\n", 'type' => 'string', 'example' => 'nginx'], + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'LivenessProbeHttpGetPath' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform liveness probes.'."\n", 'type' => 'string', 'example' => '/usr/nginx/'."\n"], + 'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'example' => 'registry-vpc.aliyuncs.com/eci_open/alpine:3.5'], + 'ReadinessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'ReadinessProbeHttpGetPort' => ['description' => 'The path to which HTTP Get requests are sent when you use the HTTP Get requests to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the entry point of the container process.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'LivenessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'], + 'StdinOnce' => ['description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Cpu' => ['description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2'], + 'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], 'Ports' => [ 'description' => 'The exposed ports and protocols.'."\n", 'type' => 'array', @@ -15175,20 +6794,11 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8083', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8083'], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'], ], ], ], @@ -15199,41 +6809,21 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.'."\n", - 'type' => 'string', - 'example' => 'data2/'."\n", - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" - .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory in which the container mounts the volume.'."\n" - ."\n" - .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", - 'type' => 'string', - 'example' => '/pod/data', - ], + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'SubPath' => ['description' => 'The subdirectory of the volume.'."\n", 'type' => 'string', 'example' => 'data2/'."\n"], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'], + 'MountPath' => ['description' => 'The directory in which the container mounts the volume.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/pod/data'], ], ], ], @@ -15244,151 +6834,59 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/'."\n", - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'fieldPath', - ], + 'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/bin/'."\n"], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'fieldPath'], ], ], ], 'Commands' => [ 'description' => 'The container startup commands.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command.'."\n", - 'type' => 'string', - 'example' => 'sleep', - ], + 'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'example' => 'sleep'], ], 'LivenessProbeExecCommands' => [ 'description' => 'The commands that are run in the container when you use a CLI to perform liveness probes.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", - 'type' => 'string', - 'example' => 'cat /tmp/healthy', - ], + 'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", 'type' => 'string', 'example' => 'cat /tmp/healthy'], ], 'Args' => [ 'description' => 'The arguments that are passed to the container startup commands.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the container startup command.'."\n", - 'type' => 'string', - 'example' => '100', - ], + 'items' => ['description' => 'The argument that is passed to the container startup command.'."\n", 'type' => 'string', 'example' => '100'], ], 'ReadinessProbeExecCommands' => [ 'description' => 'The commands that are run in the container when you use a CLI to perform readiness probes.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", - 'type' => 'string', - 'example' => 'cat /tmp/healthy'."\n", - ], + 'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", 'type' => 'string', 'example' => 'cat /tmp/healthy'."\n"], ], 'SecurityContextCapabilityAdds' => [ 'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The permission that is granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port over which the HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", - 'type' => 'string', - 'example' => '/healthyz'."\n", - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP Get requests that are used for configuring the postStart callback function.'."\n", - 'type' => 'string', - 'example' => 'HTTP', + 'items' => ['description' => 'The permission that is granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'], ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'."\n"], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'], 'LifecyclePostStartHandlerExecs' => [ 'description' => 'The commands that are run by using a CLI for configuring the postStart callback function within the container.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run by using a CLI for configuring the postStart callback function within the container.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX'."\n", - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX'."\n", - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port over which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", - 'type' => 'string', - 'example' => '/healthyz', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP Get requests that are used for configuring the preStop callback function.'."\n", - 'type' => 'string', - 'example' => 'HTTP', + 'items' => ['description' => 'The command that is run by using a CLI for configuring the postStart callback function within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'], ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'."\n"], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'."\n"], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'], 'LifecyclePreStopHandlerExecs' => [ 'description' => 'The commands that are run by using a CLI for configuring the preStop callback function within the container.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The command that is run by using a CLI for configuring the preStop callback function within the container.'."\n", - 'type' => 'string', - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', - ], - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", - 'type' => 'string', - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', + 'items' => ['description' => 'The command that is run by using a CLI for configuring the preStop callback function within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'], ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], ], ], ], @@ -15399,53 +6897,15 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'SecurityContextReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the init container.'."\n", - 'type' => 'string', - 'example' => '/www', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that are allocated to the init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the init container.'."\n", - 'type' => 'string', - 'example' => '1000', - ], - 'Memory' => [ - 'description' => 'The memory size of the init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'example' => 'test-init'."\n", - ], + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean'], + 'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'], + 'WorkingDir' => ['description' => 'The working directory of the init container.'."\n", 'type' => 'string', 'example' => '/www'], + 'Cpu' => ['description' => 'The number of vCPUs that are allocated to the init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5'], + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine'], + 'Gpu' => ['description' => 'The number of GPUs that are allocated to the init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'string', 'example' => '1000'], + 'Memory' => ['description' => 'The memory size of the init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'example' => 'test-init'."\n"], 'InitContainerEnvironmentVars' => [ 'description' => 'The environment variables of the init container.'."\n", 'type' => 'array', @@ -15453,21 +6913,9 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/local/bin'."\n", - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'string', - 'example' => 'path', - ], + 'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/local/bin'."\n"], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'], ], ], ], @@ -15478,20 +6926,11 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'UDP', - ], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'example' => 'UDP'], ], ], ], @@ -15502,72 +6941,40 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the mount directory is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.'."\n", - 'type' => 'string', - 'example' => '/usr/sub/', - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'test-empty'."\n", - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" - .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the init container mounts the volume.'."\n" - ."\n" - .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", - 'type' => 'string', - 'example' => '/usr/share/'."\n", - ], + 'ReadOnly' => ['description' => 'Indicates whether the mount directory is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'SubPath' => ['description' => 'The subdirectory of the volume.'."\n", 'type' => 'string', 'example' => '/usr/sub/'], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'test-empty'."\n"], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'], + 'MountPath' => ['description' => 'The directory to which the init container mounts the volume.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/usr/share/'."\n"], ], ], ], 'SecurityContextCapabilityAdds' => [ 'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The permission that is granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], + 'items' => ['description' => 'The permission that is granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'], ], 'InitContainerCommands' => [ 'description' => 'The commands that are used to start the init container.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The command that is used to start the init container.'."\n", - 'type' => 'string', - 'example' => 'sleep', - ], + 'items' => ['description' => 'The command that is used to start the init container.'."\n", 'type' => 'string', 'example' => 'sleep'], ], 'InitContainerArgs' => [ 'description' => 'The arguments that are passed to the startup commands of the init container.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The argument that is passed to the startup command of the init container.'."\n", - 'type' => 'string', - 'example' => '10', - ], + 'items' => ['description' => 'The argument that is passed to the startup command of the init container.'."\n", 'type' => 'string', 'example' => '10'], ], ], ], @@ -15579,16 +6986,8 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '3', - ], + 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'version'], + 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => '3'], ], ], ], @@ -15599,80 +6998,26 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The volume type. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The ID of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'd-xx', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The system type of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of the node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", - 'type' => 'string', - 'example' => 'memory', - ], - 'NFSVolumePath' => [ - 'description' => 'The path to the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'example' => '/share'."\n", - ], - 'DiskVolumeDiskSize' => [ - 'description' => 'The size of the disk volume. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'NFSVolumeReadOnly' => [ - 'description' => 'Indicates whether the NFS volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'FlexVolumeFsType' => [ - 'description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", - 'type' => 'string', - 'example' => 'ext4', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the FlexVolume driver.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The FlexVolume options.'."\n", - 'type' => 'string', - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'."\n", - ], - 'NFSVolumeServer' => [ - 'description' => 'The endpoint of the NFS server.'."\n", - 'type' => 'string', - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'."\n", - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'example' => 'default-volume1'."\n", - ], + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + ."\n" + .'* EmptyDirVolume'."\n" + .'* NFSVolume'."\n" + .'* ConfigFileVolume'."\n" + .'* FlexVolume'."\n", 'type' => 'string', 'example' => 'EmptyDirVolume'], + 'DiskVolumeDiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'example' => 'd-xx'], + 'DiskVolumeFsType' => ['description' => 'The system type of the disk volume.'."\n", 'type' => 'string', 'example' => 'xfs'], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of the node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", 'type' => 'string', 'example' => 'memory'], + 'NFSVolumePath' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'example' => '/share'."\n"], + 'DiskVolumeDiskSize' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'FlexVolumeFsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'example' => 'ext4'], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'], + 'FlexVolumeDriver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'example' => 'flexvolume'], + 'FlexVolumeOptions' => ['description' => 'The FlexVolume options.'."\n", 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'."\n"], + 'NFSVolumeServer' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'."\n"], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'."\n"], 'ConfigFileVolumeConfigFileToPaths' => [ 'description' => 'The paths to the configuration files.'."\n", 'type' => 'array', @@ -15680,40 +7025,15 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Path' => [ - 'description' => 'The path to the configuration file.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/'."\n", - ], - 'Mode' => [ - 'description' => 'The permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file.'."\n", - 'type' => 'string', - 'example' => 'bGl1bWk='."\n", - ], + 'Path' => ['description' => 'The path to the configuration file.'."\n", 'type' => 'string', 'example' => '/usr/bin/'."\n"], + 'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'], + 'Content' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'example' => 'bGl1bWk='."\n"], ], ], ], - 'EmptyDirVolumeSizeLimit' => [ - 'description' => 'The storage size of the emptyDir volume.'."\n", - 'type' => 'string', - 'example' => '256Mi', - ], - 'HostPathVolumeType' => [ - 'description' => 'The type of the HostPath volume.'."\n", - 'type' => 'string', - 'example' => 'Directory', - ], - 'HostPathVolumePath' => [ - 'description' => 'The path to the HostPath volume on the host.'."\n", - 'type' => 'string', - 'example' => '/pod/data'."\n", - ], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The storage size of the emptyDir volume.'."\n", 'type' => 'string', 'example' => '256Mi'], + 'HostPathVolumeType' => ['description' => 'The type of the HostPath volume.'."\n", 'type' => 'string', 'example' => 'Directory'], + 'HostPathVolumePath' => ['description' => 'The path to the HostPath volume on the host.'."\n", 'type' => 'string', 'example' => '/pod/data'."\n"], ], ], ], @@ -15724,21 +7044,9 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password of the image repository.'."\n", - 'type' => 'string', - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The domain name of the image repository.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'."\n", - ], - 'UserName' => [ - 'description' => 'The username of the image repository.'."\n", - 'type' => 'string', - 'example' => 'yourusername', - ], + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'example' => 'yourpaasword'], + 'Server' => ['description' => 'The domain name of the image repository.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'."\n"], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'example' => 'yourusername'], ], ], ], @@ -15749,16 +7057,8 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', - ], + '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'], ], ], ], @@ -15769,19 +7069,11 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Ip' => [ - 'description' => 'The added IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX'."\n", - ], + 'Ip' => ['description' => 'The added IP address.'."\n", 'type' => 'string', 'example' => '192.0.XX.XX'."\n"], 'Hostnames' => [ 'description' => 'The added hostnames.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The added hostname.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']'."\n", - ], + 'items' => ['description' => 'The added hostname.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'."\n"], ], ], ], @@ -15793,16 +7085,8 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The system name of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => 'kernel.msgmax'."\n", - ], - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => '65536', - ], + 'Name' => ['description' => 'The system name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => 'kernel.msgmax'."\n"], + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => '65536'], ], ], ], @@ -15813,29 +7097,13 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cri-nwj395hgf6f3****'."\n", - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'acr-test'."\n", - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou'."\n", - ], + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****'."\n"], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'acr-test'."\n"], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'."\n"], 'Domains' => [ 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'."\n", - ], + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'."\n"], ], ], ], @@ -15843,158 +7111,93 @@ 'DnsConfigNameServers' => [ 'description' => 'The IP addresses of DNS servers.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'example' => '172.10.*.**'."\n", - ], + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'example' => '172.10.*.**'."\n"], ], 'DnsConfigSearches' => [ 'description' => 'The search domains of the DNS servers.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'example' => 'svc.local.kubenetes'."\n", - ], + 'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'example' => 'svc.local.kubenetes'."\n"], ], 'NtpServers' => [ 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The endpoint of the NTP server.'."\n", - 'type' => 'string', - 'example' => 'ntp.cloud.aliyuncs.com'."\n", - ], - ], - 'LifecycleState' => [ - 'description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create elastic container instances.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Inactive scaling configurations are retained in scaling groups. However, Auto Scaling does not use inactive scaling groups to create elastic container instances.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'CostOptimization' => [ - 'description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com'."\n"], ], + 'LifecycleState' => ['description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create elastic container instances.'."\n" + .'* Inactive: The scaling configuration is inactive in the scaling group. Inactive scaling configurations are retained in scaling groups. However, Auto Scaling does not use inactive scaling groups to create elastic container instances.'."\n", 'type' => 'string', 'example' => 'Active'], + 'CostOptimization' => ['description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false'], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'], 'InstanceTypes' => [ 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large'."\n", - ], - ], - 'DataCacheBucket' => [ - 'description' => 'The bucket that caches data.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'DataCachePL' => [ - 'description' => 'The performance level (PL) of the cloud disk that caches data. We recommend that you use enhanced SSDs (ESSDs). Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'example' => 'PL1'."\n", - ], - 'DataCacheProvisionedIops' => [ - 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that caches data. Valid values: 0 to min{50,000, 1,000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40000', - ], - 'DataCacheBurstingEnabled' => [ - 'description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that caches data. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'EipPublicIpAddressPoolId' => [ - 'description' => 'The ID of the IP address pool.'."\n", - 'type' => 'string', - 'example' => 'pippool-bp187arfugi543y1s****', - ], - 'EipCommonBandwidthPackage' => [ - 'description' => 'The bound EIP bandwidth plan.'."\n", - 'type' => 'string', - 'example' => 'cbwp-bp1rxai1z4b1an454xl8m', - ], - 'EipISP' => [ - 'description' => 'The line type of the EIP. Valid values:'."\n" - ."\n" - .'* BGP: BGP (Multi-ISP) lines'."\n" - .'* BGP_PRO: BGP (Multi-ISP) Pro'."\n", - 'type' => 'string', - 'example' => 'BGP', + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'."\n"], ], + 'DataCacheBucket' => ['description' => 'The bucket that caches data.'."\n", 'type' => 'string', 'example' => 'default'], + 'DataCachePL' => ['description' => 'The performance level (PL) of the cloud disk that caches data. We recommend that you use enhanced SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'example' => 'PL1'."\n"], + 'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that caches data. Valid values: 0 to min{50,000, 1,000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40000'], + 'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that caches data. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).'."\n", 'type' => 'boolean', 'example' => 'false'], + 'EipPublicIpAddressPoolId' => ['description' => 'The ID of the IP address pool.'."\n", 'type' => 'string', 'example' => 'pippool-bp187arfugi543y1s****'], + 'EipCommonBandwidthPackage' => ['description' => 'The bound EIP bandwidth plan.'."\n", 'type' => 'string', 'example' => 'cbwp-bp1rxai1z4b1an454xl8m'], + 'EipISP' => ['description' => 'The line type of the EIP. Valid values:'."\n" + ."\n" + .'* BGP: BGP (Multi-ISP) lines'."\n" + .'* BGP_PRO: BGP (Multi-ISP) Pro'."\n", 'type' => 'string', 'example' => 'BGP'], 'ComputeCategory' => [ 'description' => 'The computing power types. A value of economy indicates that economic instance types are returned.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The computing power type.'."\n", - 'type' => 'string', - 'example' => 'economy', - ], + 'items' => ['description' => 'The computing power type.'."\n", 'type' => 'string', 'example' => 'economy'], ], ], ], - 'Output' => [ - 'description' => 'The YAML output of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], + 'Output' => ['description' => 'The YAML output of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80'], ], 'description' => '', ], @@ -16002,1942 +7205,1823 @@ ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', - ], + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\",\\n \\"ScalingConfiguration\\": {\\n \\"CreationTime\\": \\"2023-05-10T02:39:15Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 60,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp1frlu04fq4zv65b1bh\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 4,\\n \\"RestartPolicy\\": \\"Always\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 50,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"hostname\\",\\n \\"EgressBandwidth\\": 10485760,\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\\\n\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmwozpmmksakq\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-2zec39vg84usxdocme6a\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": false,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": true,\\n \\"LivenessProbeHttpGetPort\\": 8080,\\n \\"Gpu\\": 2,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\\\n\\",\\n \\"Image\\": \\"registry-vpc.aliyuncs.com/eci_open/alpine:3.5\\",\\n \\"ReadinessProbeTcpSocketPort\\": 80,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 80,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 5,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8083,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": true,\\n \\"SubPath\\": \\"data2/\\\\n\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\\\n\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/www\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"1000\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\\\n\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1024,\\n \\"Protocol\\": \\"UDP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\\\n\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\\\n\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"d-xx\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\\\n\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\\\n\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\\\n\\",\\n \\"Name\\": \\"default-volume1\\\\n\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\\\n\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\\\n\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\\\n\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\\\n\\",\\n \\"UserName\\": \\"yourusername\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\\\n\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\\\n\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\\\n\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\\\n\\",\\n \\"InstanceName\\": \\"acr-test\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\\\n\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\\\n\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\\\n\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\\\n\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\\\n\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\\\n\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"EipPublicIpAddressPoolId\\": \\"pippool-bp187arfugi543y1s****\\",\\n \\"EipCommonBandwidthPackage\\": \\"cbwp-bp1rxai1z4b1an454xl8m\\",\\n \\"EipISP\\": \\"BGP\\",\\n \\"ComputeCategory\\": [\\n \\"economy\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]', 'title' => 'DescribeEciScalingConfigurationDetail', 'summary' => 'Queries the details of a scaling configuration. You can query a scaling configuration by its ID to learn about its details such as the temporary storage size, number of IPv6 addresses, and bandwidth of the elastic IP address (EIP). The scaling configuration details can be obtained as a YAML file.', - ], - 'ModifyEciScalingConfiguration' => [ - 'summary' => 'Modifies a scaling configuration of the Elastic Container Instance type. When you call the ModifyEciScalingConfiguration operation, you can specify the ID, name, and instance properties of the scaling configuration whose information you want to modify. You can modify the instance restart policy, instance bidding policy, and elastic IP address (EIP) bandwidth.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurationDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DescribeEciScalingConfigurations' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125345', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '125390', + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], ], 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'RegionId', '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 region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of a scaling configuration must be unique in the specified region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'test-modify', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ - 'name' => 'Description', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'desc', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" - ."\n" - .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****'], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'ScalingConfigurationIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name series of elastic container instances. Naming conventions:'."\n" + 'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration IDs.'."\n" ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name can contain only lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", - 'type' => 'string', + .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of `LifecycleState`.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling configuration that you want to query.'."\n" + ."\n" + .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of LifecycleState.'."\n", 'type' => 'string', 'required' => false, 'example' => ' asc-bp17pelvl720x5ub****'], 'required' => false, - 'docRequired' => false, - 'example' => 'nginx-test', + 'maxItems' => 10, ], ], [ - 'name' => 'RestartPolicy', + 'name' => 'ScalingConfigurationNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The instance restart policy. Valid values:'."\n" + 'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration names.'."\n" ."\n" - .'* Always: always restarts elastic container instances.'."\n" - .'* Never: never restarts elastic container instances.'."\n" - .'* OnFailure: restarts elastic container instances upon failures.'."\n" + .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of scaling configuration that you want to query.'."\n" ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', + .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingcon**** '."\n"], 'required' => false, - 'example' => 'Always', + 'maxItems' => 10, ], ], - [ - 'name' => 'Cpu', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of vCPUs per elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'TotalCount' => ['description' => 'The total number of scaling configurations.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScalingConfigurations' => [ + 'description' => 'The scaling configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time at which the scaling configuration was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'scalingconfi****'], + 'SecurityGroupId' => ['description' => 'The ID of the security group with which elastic container instances are associated. Elastic container instances that are associated with the same security group can communicate with each other.'."\n", 'type' => 'string', 'example' => 'sg-bp18kz60mefs****'], + 'ActiveDeadlineSeconds' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'SpotStrategy' => ['description' => 'The bidding policy for elastic container instances. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", 'type' => 'string', 'example' => 'NoSpot'], + 'AutoCreateEip' => ['description' => 'Indicates whether elastic IP addresses (EIPs) are automatically created and bound to elastic container instances.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****'], + 'EphemeralStorage' => ['description' => 'The capacity of the ephemeral storage. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Description' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'This is an example.'], + 'EipBandwidth' => ['description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ImageSnapshotId' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****'], + 'Memory' => ['description' => 'The memory size.'."\n" + ."\n" + .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. After you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" + ."\n" + .'> You can specify CPU and Memory to define instance types only if you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '16'], + 'RestartPolicy' => ['description' => 'The restart policy of elastic container instances. Valid values:'."\n" + ."\n" + .'* Never: Elastic container instances are never restarted.'."\n" + .'* Always: Elastic container instances are always restarted.'."\n" + .'* OnFailure: Elastic container instances are restarted upon failures.'."\n", 'type' => 'string', 'example' => 'Never'], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for preemptible elastic container instances.'."\n" + ."\n" + .'This parameter is returned only if you set SpotStrategy to SpotWithPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025'], + 'IngressBandwidth' => ['description' => 'The maximum inbound public bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'], + 'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'TerminationGracePeriodSeconds' => ['description' => 'The buffer time during which a program handles operations before the program stops.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'LoadBalancerWeight' => ['description' => 'The load balancing weight of each elastic container instance as a backend server. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DnsPolicy' => ['description' => 'The Domain Name System (DNS) policy.'."\n", 'type' => 'string', 'example' => 'Default'], + 'HostName' => ['description' => 'The hostname series.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'], + 'EgressBandwidth' => ['description' => 'The maximum outbound public bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024000'], + 'RegionId' => ['description' => 'The region ID of elastic container instances.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], + 'RamRoleName' => ['description' => 'The Resource Access Management (RAM) role of elastic container instances. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", 'type' => 'string', 'example' => 'ram:PassRole'], + 'Cpu' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'], + 'AutoMatchImageCache' => ['description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-8db03793gfrz****'], + 'ContainerGroupName' => ['description' => 'The name series of elastic container instances.'."\n", 'type' => 'string', 'example' => 'test'], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****'], + 'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. This parameter can be specified for only specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'SlsEnable' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'False'], + 'Containers' => [ + 'description' => 'The containers in an elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The containers in the elastic container instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadinessProbeHttpGetPath' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", 'type' => 'string', 'example' => '/usr/local'], + 'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LivenessProbePeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'LivenessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform liveness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'example' => '/usr/local/nginx'], + 'Tty' => ['description' => 'Indicates whether the Interaction feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'LivenessProbeHttpGetPort' => ['description' => 'The port to which HTTP GET requests are sent to perform liveness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Gpu' => ['description' => 'The number of GPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ReadinessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Stdin' => ['description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Memory' => ['description' => 'The memory size per container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'], + 'Name' => ['description' => 'The custom name of the container.'."\n", 'type' => 'string', 'example' => 'nginx'], + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'LivenessProbeHttpGetPath' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform liveness probes.'."\n", 'type' => 'string', 'example' => '/usr/nginx/'], + 'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'example' => 'mysql'], + 'ReadinessProbeTcpSocketPort' => ['description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8888'], + 'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'ReadinessProbeHttpGetPort' => ['description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '/usr/nginx/'], + 'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the entry point of the container process.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'LivenessProbeInitialDelaySeconds' => ['description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Each time image pulling is performed.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'example' => 'Always'], + 'StdinOnce' => ['description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '2.0'], + 'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'Ports' => [ + 'description' => 'The exposed ports and protocols.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed ports and protocols of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8888'], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'], + ], + ], + ], + 'VolumeMounts' => [ + 'description' => 'The mounted volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volumes that are mounted on the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'example' => 'data2/'], + 'Name' => ['description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", 'type' => 'string', 'example' => 'default-volume1'], + 'MountPropagation' => ['description' => 'The mount propagation settings. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'], + 'MountPath' => ['description' => 'The directory to which the volume is mounted.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", 'type' => 'string', 'example' => '/pod/data'], + ], + ], + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the environment variables.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/bin/'], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'], + ], + ], + ], + 'Commands' => [ + 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup command. You can specify up to 20 commands. Each command contains up to 256 characters.'."\n", 'type' => 'string', 'example' => 'sleep'], + ], + 'LivenessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use the CLI to perform liveness probes.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", 'type' => 'string', 'example' => 'cat/tmp/healthy'], + ], + 'Args' => [ + 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'example' => '100'], + ], + 'ReadinessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use the CLI to perform readiness probes.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", 'type' => 'string', 'example' => 'cat/tmp/healthy'], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that are granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'], + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET requests that are sent for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that are run for configuring the postStart callback function by using the CLI within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that is run for configuring the postStart callback function by using the CLI within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'], + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets used for configuring the postStart callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets used for configuring the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", 'type' => 'string', 'example' => '/healthyz'."\n"], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get requests that are sent for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => 'HTTP'], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that are run for configuring the preStop callback function by using the CLI within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The commands that is run for configuring the preStop callback function by using the CLI within the container.'."\n", 'type' => 'string', 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]'], + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets used for configuring the preStop callback function.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX'], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets used for configuring the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + ], + ], + ], + 'InitContainers' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'object', + 'properties' => [ + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'example' => 'Always'], + 'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'example' => '/usr/local'], + 'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5'], + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'example' => 'nginx'], + 'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'SecurityContextRunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'string', 'example' => '587'], + 'Memory' => ['description' => 'The memory size per init container.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'example' => 'test-init'], + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the environment variables.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'example' => 'PATH'], + 'Value' => ['description' => 'The value of the environment variable.'."\n", 'type' => 'string', 'example' => '/usr/local/bin'], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'path'], + ], + ], + ], + 'InitContainerPorts' => [ + 'description' => 'The ports of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the init container ports.'."\n", + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'], + ], + ], + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volumes that are mounted to the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volumes that are mounted on the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the mount directory is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'SubPath' => ['description' => 'The volume subdirectory. A pod can mount different directories of the same volume to different directories of the init container.'."\n", 'type' => 'string', 'example' => '/usr/sub/'], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'test-empty'], + 'MountPropagation' => ['description' => 'The mount propagation setting. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'example' => 'None'], + 'MountPath' => ['description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", 'type' => 'string', 'example' => '/usr/share/'], + ], + ], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that are granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", 'type' => 'string', 'example' => 'NET_ADMIN'], + ], + 'InitContainerCommands' => [ + 'description' => 'The container startup commands.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'example' => 'sleep'], + ], + 'InitContainerArgs' => [ + 'description' => 'The container startup arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument.'."\n", 'type' => 'string', 'example' => '10'], + ], + ], + ], + ], + 'Tags' => [ + 'description' => 'The tags of elastic container instances. Tags are specified in the key-value format.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the elastic container instance. The tags are specified in the key-value pair format.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'version'], + 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => '3'], + ], + ], + ], + 'Volumes' => [ + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the volumes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + ."\n" + .'* EmptyDirVolume'."\n" + .'* NFSVolume'."\n" + .'* ConfigFileVolume'."\n" + .'* FlexVolume'."\n", 'type' => 'string', 'example' => 'EmptyDirVolume'], + 'DiskVolumeDiskId' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'string', 'example' => '15'], + 'DiskVolumeFsType' => ['description' => 'The system type of the disk volume.'."\n", 'type' => 'string', 'example' => 'xfs'], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of a node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", 'type' => 'string', 'example' => 'memory'], + 'NFSVolumePath' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'example' => '/share'], + 'DiskVolumeDiskSize' => ['description' => 'The size of the disk volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'FlexVolumeFsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'example' => 'ext4'], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'], + 'FlexVolumeDriver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'example' => 'flexvolume'], + 'FlexVolumeOptions' => ['description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'], + 'NFSVolumeServer' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'example' => 'default-volume1'], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The paths to configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The paths to configuration files.'."\n", + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative path to the configuration file.'."\n", 'type' => 'string', 'example' => '/usr/bin/'], + 'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0644'], + 'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'example' => 'bGl1bWk='], + ], + ], + ], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The storage size of the emptyDir volume.'."\n", 'type' => 'string', 'example' => '256Mi'], + 'HostPathVolumeType' => [ + 'description' => 'The type of the HostPath volume.'."\n", + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'Directory', + ], + 'HostPathVolumePath' => ['description' => 'The path to the HostPath volume on the host.'."\n", 'type' => 'string', 'example' => '/pod/data'], + ], + ], + ], + 'ImageRegistryCredentials' => [ + 'description' => 'The information about the image repository.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'example' => 'yourpaasword'], + 'Server' => ['description' => 'The domain name of the image repository.'."\n", 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'example' => 'yourusername '."\n"], + ], + ], + ], + 'DnsConfigOptions' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'example' => 'name'], + 'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'example' => 'value'], + ], + ], + ], + 'HostAliases' => [ + 'description' => 'The hostnames and IP addresses for a container that are added to the hosts file of the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The hostname aliases of a container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The added IP address.'."\n", 'type' => 'string', 'example' => '192.0.XX.XX'], + 'Hostnames' => [ + 'description' => 'The added hostnames.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The added hostname.'."\n", 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']'], + ], + ], + ], + ], + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The system name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => 'kernel.msgmax'], + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => '65536'], + ], + ], + ], + 'AcrRegistryInfos' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****'], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'acr-test'], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'], + ], + ], + ], + ], + 'DnsConfigNameServers' => [ + 'description' => 'The IP addresses of the Domain Name Service (DNS) server.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'example' => '172.10.*.**'], + ], + 'DnsConfigSearches' => [ + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domains of the DNS server.'."\n", 'type' => 'string', 'example' => 'svc.local.kubenetes'], + ], + 'NtpServers' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) server.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com'], + ], + 'LifecycleState' => ['description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the scaling configuration that is in the Active state to create instances during scale-out events.'."\n" + .'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create instances during scale-out events.'."\n", 'type' => 'string', 'example' => 'Active'], + 'CostOptimization' => ['description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false'], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, which is used to filter the available instance types that meet the specified requirements. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'], + ], + 'DataCacheBucket' => ['description' => 'The bucket that stores the data cache.'."\n", 'type' => 'string', 'example' => 'default'], + 'DataCachePL' => ['description' => 'The performance level (PL) of the cloud disk that stores the data cache. We recommend that you use enterprise SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'example' => 'PL1'], + 'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that stores the data cache. Valid values: 0 to min{50,000, 1000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40000'], + 'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that stores the data cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'example' => 'false'], + 'GpuDriverVersion' => ['description' => 'The version of the GPU driver.'."\n", 'type' => 'string', 'example' => 'tesla=470.82.01'], + ], + ], + ], + ], ], ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + 'title' => 'DescribeEciScalingConfigurations', + 'summary' => 'Queries scaling configurations of the Elastic Container Instance type. When you call the DescribeEciScalingConfigurations operation, you can specify ScalingGroupId, ScalingConfigurationIds, or ScalingConfigurationNames to query details about the desired scaling configurations, such as the instance bidding policy, instance type, image pulling policy, and load balancing weight of each elastic container instance. This can help you select a suitable template for creating elastic container instances or reference existing scaling configurations before you modify the automatic scaling policy for elastic container instances.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": true,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\\\t\\\\n\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeElasticStrength' => [ + 'summary' => 'A scaling group\'s configuration is key to successful scale-outs. Auto Scaling uses elasticity strength to quantify the effectiveness of a Scaling Configuration, helping you make targeted optimizations.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: uses the DNS that is specified by DnsConfig.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221692', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ [ - 'name' => 'EnableSls', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ImageSnapshotId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', + 'description' => 'A list of ECS instance types. If specified, this parameter overrides the instance types in the scaling configuration.', + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => 'RamTestRole', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TerminationGracePeriodSeconds', + 'name' => 'PriorityStrategy', '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' => '><warning>This parameter is deprecated. Use `SpotStrategy` instead.></warning>'."\n" + .'The spot strategy for pay-as-you-go instances. If specified, this parameter overrides the spot strategy in the scaling configuration. Valid values:'."\n" + ."\n" + .'- `NoSpot`: A regular pay-as-you-go instance.'."\n" + ."\n" + .'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n" + ."\n" + .'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n" + ."\n" + .'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'AutoMatchImageCache', + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to automatically match image caches.'."\n" + 'description' => 'A list of system disk categories. If specified, this parameter overrides the system disk categories in the scaling configuration. Valid values:'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'Ipv6AddressCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'ActiveDeadlineSeconds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance bidding policy. Valid values:'."\n" + .'- `cloud`: Basic Cloud Disk.'."\n" ."\n" - .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + .'- `cloud_efficiency`: Ultra Cloud Disk.'."\n" ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', - ], - ], - [ - 'name' => 'SpotPriceLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" + .'- `cloud_ssd`: Standard SSD.'."\n" ."\n" - .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - [ - 'name' => 'AutoCreateEip', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'EipBandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The EIP bandwidth.'."\n" + .'- `cloud_essd`: ESSD.'."\n" + ."\n" + .'> This parameter is required if `ScalingGroupId` is not specified.', + 'type' => 'array', + 'items' => ['description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'- `cloud`: Basic Cloud Disk.'."\n" ."\n" - .'Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- `cloud_efficiency`: Ultra Cloud Disk.'."\n" + ."\n" + .'- `cloud_ssd`: Standard SSD.'."\n" + ."\n" + .'- `cloud_essd`: ESSD.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HostName', + 'name' => 'ScalingGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The hostname series of elastic container instances.'."\n", - 'type' => 'string', + 'description' => 'The IDs of one or more scaling groups to query in a batch operation.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => 'test', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'IngressBandwidth', + 'name' => 'SpotStrategy', '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 spot strategy for instances. Valid values:'."\n" + ."\n" + .'- `NoSpot`: A regular pay-as-you-go instance.'."\n" + ."\n" + .'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n" + ."\n" + .'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n" + ."\n" + .'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'EgressBandwidth', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'A list of VSwitch IDs.'."\n" + ."\n" + .'> This parameter is required if `ScalingGroupId` is not specified.', + 'type' => 'array', + 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CpuOptionsCore', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the image used to create instances.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], ], [ - 'name' => 'CpuOptionsThreadsPerCore', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'EphemeralStorage', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of the PL1 type is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'The name of the image. The name must be unique within a region. If you specify `ImageId`, this parameter is ignored.'."\n" + ."\n" + .'You cannot use this parameter to specify a Marketplace image.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'ubuntu_18_04_x64_20G_alibase_20231225.vhd', 'title' => ''], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'ImageFamily', 'in' => 'query', - 'schema' => [ - 'description' => 'The load balancing weight of each backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The name of the image family. You can set this parameter to use the latest available image from the specified image family to create instances. If you specify ImageId, this parameter is ignored.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'CentOS7', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'DataDiskCategories', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'A list of data disk categories used to evaluate elastic strength. If a category is incompatible, the response identifies the specific mismatched category.'."\n" + ."\n" + .'> You can specify this parameter if `ScalingGroupId` is not specified.', 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'- `cloud`: Basic Cloud Disk'."\n" + ."\n" + .'- `cloud_efficiency`: Ultra Cloud Disk'."\n" + ."\n" + .'- `cloud_ssd`: Standard SSD'."\n" + ."\n" + .'- `cloud_essd`: ESSD'."\n" + ."\n" + .'- `ephemeral_ssd`: local SSD', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageRegistryCredentials', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The image repositories.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The image repository.'."\n", - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The address of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username of the image repository.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The number of IPv6 addresses to be configured for each instance. The elastic strength is lowered for instance types that do not support the specified number of IPv6 addresses.'."\n" + ."\n" + .'> You can specify this parameter if `ScalingGroupId` is not specified.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - [ - 'name' => 'Containers', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for a failed readiness probe to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Adds' => [ - 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.><warning> This parameter is deprecated.></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" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'An array of resource pools. This parameter is returned when the API call targets a single scaling group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Strength' => ['description' => 'The elastic strength of the resource pool.', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.c7t.xlarge', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The VSwitches in the zone of the resource pool.', + 'type' => 'array', + 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze0uc933kantv******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'IMG_NOT_SUPPORTED', 'title' => ''], + 'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceType does not support the image in the configuration.', 'title' => ''], + 'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n" ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_RAW', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by the TCP socket when you perform a readiness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of the HTTP GET request that you use to perform a readiness probe. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval between consecutive liveness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'Ports' => [ - 'description' => 'The ports.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" + .'- Available: The resource pool is available.'."\n" + ."\n" + .'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The health score.'."\n" ."\n" - .'* 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 the root file system is read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variable.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin '."\n", - ], - 'FieldRef.FieldPath' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'path', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by the TCP socket when you perform a liveness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable Interaction. Default value: false.'."\n" - ."\n" - .'If the command is a /bin/bash command, set this parameter to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/ '."\n", - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of the HTTP GET request that you use to perform a liveness probe. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port over which you want to send the HTTP GET request to perform a readiness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Args' => [ - 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Gpu' => [ - 'description' => 'The number of GPUs per container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The interval between the launch of the container and the onset of a readiness probe. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size per container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The interval between the launch of the container and the onset of a liveness probe. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'VolumeMounts' => [ - 'description' => 'The volume mounts of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume mount of the container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + .'- A score from 5 to 6 indicates high confidence in supply.'."\n" ."\n" - .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" - .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory within the container onto which you want to mount the volume.'."\n" + .'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n" ."\n" - .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data '."\n", - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only.'."\n" + .'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1 '."\n", - ], - 'SubPath' => [ - 'description' => 'The volume subdirectory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'data2/ '."\n", + .'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The supply score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HotScore' => ['description' => 'The hot score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for a liveness probe to be considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Commands' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures that must occur for a readiness probe to be considered failed.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Image pulling is performed each time instances are created.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams remain connected during multiple sessions when StdinOnce is set to true.'."\n" - ."\n" - .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25 '."\n", - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port over which you want to send the HTTP GET request to perform a liveness probe.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which you want to send the HTTP GET request to perform a liveness probe.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz '."\n", - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur to consider a failed liveness probe successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval between consecutive readiness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Commands' => [ - 'description' => 'The commands that you can run in the container when you use the CLI to perform a liveness probe.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you can run in the container when you use the CLI to perform a liveness probe.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which you want to send the HTTP GET request to perform a readiness probe.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthz '."\n", - ], - 'LivenessProbe.Exec.Commands' => [ - 'description' => 'The command executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 21, - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'description' => 'The port over which you want to send the HTTP GET request to configure the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5050', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'description' => 'The path to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET request that you want to send to configure the postStart callback function. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS', - ], - 'LifecyclePostStartHandlerExecs' => [ - 'description' => 'The commands that you can run within the container to configure the postStart callback function.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you can run within the container to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'description' => 'The port over which you want to send the HTTP GET request to configure the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'description' => 'The path to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'description' => 'The protocol type of the HTTP GET request that you want to send to configure the preStop callback function. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LifecyclePreStopHandlerExecs' => [ - 'description' => 'The commands that you can run within the container to configure the preStop callback function.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you can run within the container to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', + 'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Medium', 'title' => ''], ], - 'required' => false, - 'maxItems' => 20, - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.0.XX.XX', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'description' => 'The port detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'Volumes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EmptyDirVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The volume size. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path to the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'DiskVolume.FsType' => [ - 'description' => 'We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", - '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 permissions on the NFS volume are read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path on the host.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/name '."\n", - ], - 'FlexVolume.Options' => [ - 'description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" - ."\n" - .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The ID of the disk volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx '."\n", - ], - 'Name' => [ - 'description' => 'The volume name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1 '."\n", - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the emptyDir volume stores data in the file system of a node. A value of memory specifies that the emptyDir volume stores data in the memory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'memory '."\n", - ], - 'ConfigFileVolumeConfigFileToPath' => [ - 'description' => 'The paths to the configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The path to the configuration file.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path to the configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/ '."\n", - ], - 'Mode' => [ - 'description' => 'The permissions on the ConfigFile volume.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file (32 KB).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk= '."\n", + 'ElasticStrengthModels' => [ + 'description' => 'An array of elastic strength details, returned when the API call targets multiple scaling groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-wz98mnj7nblv9gc****', 'title' => ''], + 'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.><warning> This parameter is deprecated.></warning>', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'Details of the resource pools within the scaling group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.r7.large', 'title' => ''], + 'Strength' => ['description' => 'The elastic strength of the resource pool.><warning> This parameter is deprecated.></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-2ze6e8p4******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n" + ."\n" + .'- Available: The resource pool is available.'."\n" + ."\n" + .'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The health score.'."\n" + ."\n" + .'- A score from 5 to 6 indicates high confidence in supply.'."\n" + ."\n" + .'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n" + ."\n" + .'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n" + ."\n" + .'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The supply score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'HotScore' => ['description' => 'The hot score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 90, - ], - 'EmptyDirVolume.SizeLimit' => [ - 'description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '256Mi', + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 101, + 'example' => '', ], ], - [ - 'name' => 'InitContainers', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'InitContainerEnvironmentVars' => [ - 'description' => 'The environment variables of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variable of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/ '."\n", - ], - 'FieldRef.FieldPath' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'path', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'SecurityContext.Capability.Adds' => [ - 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_RAW', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Image' => [ - 'description' => 'The image of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'InitContainerPorts' => [ - 'description' => 'The ports of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'InitContainerVolumeMounts' => [ - 'description' => 'The volume mounts of the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The volume mount of the init container.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" - ."\n" - .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" - .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory within the init container onto which you want to mount the volume.'."\n" - ."\n" - .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/ '."\n", - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false '."\n", - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty '."\n", - ], - 'SubPath' => [ - 'description' => 'The volume subdirectory. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Image pulling is performed each time instances are created.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs per init container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local '."\n", - ], - 'Commands' => [ - 'description' => 'The commands that you can run to start the init container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The command that you can run to start the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Args' => [ - 'description' => 'The container startup arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup argument.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user who runs the init container.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs per init container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The memory size per init container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the init container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-init', - ], - ], - 'required' => false, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"IMG_NOT_SUPPORTED\\",\\n \\"Msg\\": \\"The instanceType does not support the image in the configuration.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n },\\n \\"ElasticStrength\\": \\"Medium\\"\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n },\\n \\"ElasticStrength\\": \\"Strong\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeElasticStrength', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 21, ], ], + ], + ], + 'DescribeInstanceCreateAndDeleteStatistics' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsConfigNameServers', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221449', + 'abilityTreeNodes' => ['FEATUREessJ54CHK'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IP addresses of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.** '."\n", - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'DnsConfigSearchs', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The search domains of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The search domain of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes '."\n", - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-2ze4057nqfbxxxxxxxx', 'title' => ''], ], [ - 'name' => 'DnsConfigOptions', + 'name' => 'StartTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'name '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'HostAliases', + 'name' => 'EndTime', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The hosts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The host.'."\n", - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that you want to add.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.0.XX.XX '."\n", - ], - 'Hostnames' => [ - 'description' => 'The names of the hosts that you want to add.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the host that you want to add.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[\'hehe.com\', \'haha.com\'] '."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', 'title' => ''], + 'InstanceCreateAndDeleteStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Statistic' => [ + 'description' => 'Metrics for instance creation and deletion.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Metrics for instance creation and deletion.'."\n", + 'type' => 'object', + 'properties' => [ + 'DestroyedVmCount' => ['description' => 'The number of released instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'CreatedVmCount' => ['description' => 'The number of new instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + 'StoppedVmCount' => ['description' => 'The number of instances that are stopped in economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'StartedVmCount' => ['description' => 'The number of instances that are started from economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 51, ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 101, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SecurityContextSysCtls', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The security contexts in which the elastic container instance runs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security context in which the elastic container instance runs.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The variable name of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax '."\n", - ], - ], - 'required' => false, + ], + 'title' => 'DescribeInstanceCreateAndDeleteStatistics', + 'summary' => 'Instance creation and deletion statistics.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 11, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\",\\n \\"InstanceCreateAndDeleteStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"DestroyedVmCount\\": 34,\\n \\"CreatedVmCount\\": 12,\\n \\"Time\\": \\"2025121623\\",\\n \\"StoppedVmCount\\": 10,\\n \\"StartedVmCount\\": 5\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeInstanceRefreshes' => [ + 'summary' => 'Queries instance refresh tasks in a scaling group, including basic information and progress of the tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'NtpServers', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The endpoints of Network Time Protocol (NTP) servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The endpoint of the NTP server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com '."\n", - ], - 'required' => false, - 'maxItems' => 21, - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234886', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'AcrRegistryInfos', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The Container Registry Enterprise Edition instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The Container Registry Enterprise Edition instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Domains' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test '."\n", - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3**** '."\n", - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou '."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CostOptimization', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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' => 'InstanceFamilyLevel', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance type). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The maximum number of entries per page in a paging query. Valid values: 1 to 50.'."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'ContainersUpdateType', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'title' => 'containers 参数更新方式控制 '."\n" - .'RenewUpdate:全量更新,以更新请求中containers参数为准,覆盖原有containers参数配置。'."\n" - .'IncrementalUpdate:增量更新,根据container.name进行container匹配,仅更新设置请求参数中设置参数,未设置参数不进行更新。'."\n" - .'默认值:RenewUpdate', - 'description' => 'The update mode of containers. Valid values:'."\n" - ."\n" - .'* RenewUpdate: full update mode. This value takes effect based on the value of Containers in an update request. This value indicates that the previous setting of Containers is overwritten.'."\n" - .'* IncrementalUpdate: incremental update mode. Container matching is performed based on the Container.name value. Only the parameters that are included in the request parameters are updated.'."\n" - ."\n" - .'Default value: RenewUpdate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RenewUpdate', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n" + .'> You must specify either ScalingGroupId or InstanceRefreshTaskIds. If you do not specify either parameter, an error is returned.'."\n" + .'>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'InstanceTypes', + 'name' => 'InstanceRefreshTaskIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ECS instance types. You can specify up to five instance types.'."\n", + 'description' => 'The IDs of the instance refresh tasks that you want to query.', 'type' => 'array', - 'items' => [ - 'description' => 'The ECS instance type. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'items' => ['description' => 'The IDs of the instance refresh tasks that you want to query.', 'type' => 'string', 'required' => false, 'example' => 'ir-adfa12312*****', 'title' => ''], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DataCacheBucket', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The bucket in which data caches are stored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NextToken' => ['description' => 'The pagination token for the next query. If NextToken is empty, no more results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f****', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instance refresh tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'InstanceRefreshTasks' => [ + 'description' => 'The list of instance refresh tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance refresh task.', + 'type' => 'object', + 'properties' => [ + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp16pbfcr8j9*****', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-1adfa123****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T02:09:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T01:09:00Z', 'title' => ''], + 'Status' => ['description' => 'The current status of the instance refresh task. Valid values:'."\n" + .'- Pending: The instance refresh task is created and waiting to be scheduled.'."\n" + .'- InProgress: The instance refresh task is in progress.'."\n" + .'- Paused: The instance refresh task is paused.'."\n" + .'- CheckpointPause: The instance refresh task is paused because the task progress reached a checkpoint (`Checkpoint.Percentage`).'."\n" + .'- Failed: The instance refresh task failed.'."\n" + .'- Successful: The instance refresh task succeeded.'."\n" + .'- Cancelling: The instance refresh task is being cancelled.'."\n" + .'- Cancelled: The instance refresh task is cancelled.'."\n" + .'- RollbackInProgress: The instance refresh task is being rolled back.'."\n" + .'- RollbackSuccessful: The instance refresh task is rolled back.'."\n" + .'- RollbackFailed: The rollback of the instance refresh task failed.', 'type' => 'string', 'example' => 'InProgress', 'title' => ''], + 'Detail' => ['description' => 'The failure reason when the instance refresh task fails.', 'type' => 'string', 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', 'title' => ''], + 'MinHealthyPercentage' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'MaxHealthyPercentage' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '120', 'title' => ''], + 'DesiredConfiguration' => [ + 'description' => 'The desired configuration for the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'm-uf6g5noisr****', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-wz91ibkhfor****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'example' => 'lt-2ze5x4mp*****', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'example' => 'Latest', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance type information that overrides the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that overrides the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'example' => 'ecs.sn1ne.large', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'description' => 'The container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The arguments for the container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup commands.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '>This parameter is not available for use.', 'type' => 'string', 'example' => 'fieldPath', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'FinishedUpdateCapacity' => ['description' => 'The capacity that has been refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalNeedUpdateCapacity' => ['description' => 'The total capacity that needs to be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'SkipMatching' => ['description' => 'Indicates whether instances that already match the desired configuration are skipped.'."\n" + ."\n" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Skipped. When the instance refresh task starts, the system checks the configuration of each instance. Instances that were already created with the desired configuration are not refreshed.'."\n" + .'- false: Not skipped. After the instance refresh task starts, all instances in the scaling group are refreshed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CheckpointPauseTime' => ['description' => 'The pause duration when the task reaches a checkpoint. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'Checkpoints' => [ + 'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.', + 'type' => 'array', + 'items' => [ + 'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances relative to the total instances in the scaling group. The task automatically pauses when this percentage is reached.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Strategy' => ['description' => 'The execution strategy of the instance refresh task. Valid values:'."\n" + ."\n" + .'- Rolling: The instance refresh task creates new instances and releases old instances to perform the refresh.'."\n" + ."\n" + .'- ReplaceSystemDisk: The instance refresh task replaces the system cloud disk on existing instances.', 'type' => 'string', 'example' => 'Rolling', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ],\\n \\"Strategy\\": \\"Rolling\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query instance refresh tasks', + 'changeSet' => [], + 'ramActions' => [ [ - 'name' => 'DataCachePL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level (PL) of the cloud disk in which data caches are stored. We recommend that you use Enterprise SSDs (ESSDs). Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeLifecycleActions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125398', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], + ], + 'parameters' => [ [ - 'name' => 'DataCacheProvisionedIops', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk in which data caches are stored. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800+50 x *Capacity, 50,000}.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40000', - ], + 'schema' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asa-bp17mug9t0pegagw****'], ], [ - 'name' => 'DataCacheBurstingEnabled', + 'name' => 'LifecycleActionStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the Performance Burst feature for the ESSD AutoPL disk in which data caches are stored. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The status of the lifecycle action. Valid values:'."\n" + ."\n" + .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" + .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n" + .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Pending'], ], [ - 'name' => 'GpuDriverVersion', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the GPU driver. Valid values:'."\n" - ."\n" - .'* tesla=470.82.01 (default)'."\n" - .'* tesla=525.85.12'."\n" - ."\n" - .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tesla=525.85.12', - ], + 'schema' => ['description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" + ."\n" + .'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AAAAAcSz4VTb1Nq****'], ], [ - 'name' => 'Override', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'title' => '是否覆盖。取值范围:'."\n" - ."\n" - .'true:覆盖。'."\n" - .'false:不覆盖。', - 'description' => 'Specifies whether to override existing data. Valid Values:'."\n" - ."\n" - .'true false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', + 'NextToken' => ['description' => 'The query token returned in this call.'."\n", 'type' => 'string', 'example' => 'AAAAAcSz4VTb1Nq****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3'], + 'TotalCount' => ['description' => 'The total number of the queried lifecycle actions.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'MaxResults' => ['description' => 'The maximum number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'LifecycleActions' => [ + 'description' => 'The actions of the lifecycle hook.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp18uoft0deax0f7****'], + 'LifecycleActionToken' => ['description' => 'The token of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB'], + 'LifecycleActionStatus' => ['description' => 'The status of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => 'Pending'], + 'LifecycleActionResult' => ['description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" + .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n", 'type' => 'string', 'example' => 'CONTINUE'], + 'InstanceIds' => [ + 'description' => 'The IDs of the ECS instances on which the lifecycle hook takes effect'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance on which the lifecycle hook takes effect'."\n", 'type' => 'string', 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]'], + ], + ], + ], ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'title' => 'DescribeLifecycleActions', + 'summary' => 'Queries lifecycle hook actions. When you call the DescribeLifecycleActions operation, you can specify parameters such as ScalingActivityId, NextToken, and MaxResults to query the details such as the action status and ID of a lifecycle hook. You can also call this operation to query the IDs of Elastic Compute Service (ECS) instances on which the lifecycle hook takes effect.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', - 'title' => 'ModifyEciScalingConfiguration', - 'description' => '* To rename a scaling configuration in a scaling group, ensure the new name is unique within that group.'."\n" - .'* You can call the [DescribeEciScalingConfigurations](~~459374~~) operation to check the modification result.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444F7BB\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'ApplyEciScalingConfiguration' => [ - 'summary' => 'Applies a scaling configuration of the Elastic Container Instance type. If you want to create and manage scaling configurations of the Elastic Container Instance type by using a configuration file, you can call the ApplyEciScalingConfiguration operation.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeLifecycleHooks' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '212847', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - 'FEATUREessT4M3WE', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '125347', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], ], 'parameters' => [ [ - 'name' => 'Content', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The content of the configuration file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'RegionId', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'ScalingConfigurationId', + 'name' => 'PageSize', 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], + ], + [ + 'name' => 'LifecycleHookIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n" - ."\n" - .'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the lifecycle hooks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the lifecycle hook that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp1at9ufhmcf9cmy****'], 'required' => false, - 'docRequired' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', + 'maxItems' => 100, ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp16har3jpj6fjbx****', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'TotalCount' => ['description' => 'The total number of lifecycle hooks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LifecycleHooks' => [ + 'description' => 'Details about the lifecycle hooks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the lifecycle hook.'."\n", + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The next action that is performed after the lifecycle hook times out.'."\n", 'type' => 'string', 'example' => 'CONTINUE'], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp19d1032y9kij96****'], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'lifecyclehook****'], + 'LifecycleTransition' => ['description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", 'type' => 'string', 'example' => 'SCALE_OUT'], + 'NotificationMetadata' => ['description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.'."\n", 'type' => 'string', 'example' => 'Test Lifecycle Hook.'], + 'NotificationArn' => ['description' => 'The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter must be in one of the following formats:'."\n" + ."\n" + .'* If you do not create a notification rule, specify the value in the `acs:ess:{region-id}:{account-id}:null/null` format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the `acs:eventbridge:{region-id}:{account-id}:eventbus/default` format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'example' => 'acs:ess:cn-beijing:161456884340****:null/null'], + 'HeartbeatTimeout' => ['description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****'], + 'LifecycleHookStatus' => ['description' => 'The status of the lifecycle hook. Valid values:'."\n" + ."\n" + .'* Active: The lifecycle hook is enabled.'."\n" + .'* InActive: The lifecycle hook is disabled.'."\n", 'type' => 'string', 'example' => 'Active'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'DescribeLifecycleHooks', + 'summary' => 'Queries lifecycle hooks. When you call this operation, you can specify the lifecycle hook ID or scaling group ID to query the details of the desired lifecycle hook, such as the default action after the lifecycle hook times out, scaling activity that corresponds to the lifecycle hook, Alibaba Cloud Resource Name (ARN) of the notification recipient, and effective period of the lifecycle hook.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleHooks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp16har3jpj6fjbx****\\"\\n}","type":"json"}]', - 'title' => 'ApplyEciScalingConfiguration', - 'description' => 'Before you use a YAML configuration file to manage scaling configurations of the Elastic Container Instance type, you must take note of the following items:'."\n" - ."\n" - .'* If you include a scaling configuration ID within your request, the system updates the scaling configuration based on the YAML configuration file.'."\n" - .'* If you do not include a scaling configuration ID within your request, the system creates a scaling configuration of the Elastic Container Instance type based on the YAML configuration file.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'DeleteEciScalingConfiguration' => [ - 'summary' => 'Deletes a scaling configuration of the Elastic Container Instance type. If the scaling configuration of a scaling group is in the Inactive state and the scaling group contains no elastic container instances created from the scaling configuration, you can call the DeleteEciScalingConfiguration operation to delete the scaling configuration to free up the scaling configuration quota.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLimitation' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125381', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'MaxNumberOfScheduledTasks' => ['description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfLoadBalancers' => ['description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfMaxSize' => ['description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfAlbServerGroup' => ['description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfNlbServerGroup' => ['description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfDBInstances' => ['description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfScalingConfigurations' => ['description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfMinSize' => ['description' => 'The minimum number of instances that must be contained in a scaling group. The value of `MaxNumberOfMinSize` must be consistent with the value of `MaxNumberOfMaxSize`.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfLifecycleHooks' => ['description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxNumberOfScalingInstances' => ['description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be automatically scaled in a scaling group at the same time.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'MaxNumberOfScalingGroups' => ['description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', 'title' => ''], + 'MaxNumberOfNotificationConfigurations' => ['description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'MaxNumberOfVServerGroups' => ['description' => 'The maximum number of CLB vServer groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'MaxNumberOfScalingRules' => ['description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]', + 'title' => 'DescribeLimitation', + 'summary' => 'Queries resource quotas. For example, you can call the DescribeLimitation operation to query the maximum numbers of scheduled tasks that you can create in a scaling group, load balancers that you can attach to a scaling group, instances that you can add to a scaling group, and scaling configurations that you can create in a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'DescribeNotificationConfigurations' => [ + 'summary' => 'Queries notification settings. You can call the DescribeNotificationConfiguration operation to query notification settings of scaling events or resource changes, including the notification types and methods.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125360', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp1bx8mzur534edp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationConfigurationModels' => [ + 'description' => 'The notification settings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The notification setting.'."\n", + 'type' => 'object', + 'properties' => [ + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The value is in one of the following formats:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, the value is in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'NotificationTypes' => [ + 'description' => 'The types of the notifications.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The types of the notifications.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'TimeZone' => ['description' => 'The time zone of the notification. The value must be in UTC. For example, a value of UTC+8 indicates that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 indicates that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'example' => 'UTC+8', 'title' => ''], + 'MessageEncoding' => ['description' => 'The codec of the notification message content.', 'type' => 'string', 'example' => 'PlainText', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationConfigurationModels\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ],\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeNotificationConfigurations', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DescribeNotificationTypes' => [ + 'summary' => 'Queries notification types. You can call the DescribeNotificationTypes operation to query the types of notifications on scaling events or resource changes occurred in your scaling groups. Notifications are triggered in scenarios such as successful scale-out events, successful scale-in events, expiration of scheduled tasks, and partially successful scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125339', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n" + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationTypes' => [ + 'description' => 'The types of the notifications.'."\n" ."\n" - .'The request ID is consistently returned in the response, irrespective of whether the request is executed successfully or encounters an error.'."\n", - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', + .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" + .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" + .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" + .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The types of the notifications.'."\n" + ."\n" + .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" + .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" + .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" + .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeNotificationTypes', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B0****\\"\\n}","type":"json"}]', - 'title' => 'DeleteEciScalingConfiguration', - 'description' => 'You cannot call this operation to delete a scaling configuration in the following scenarios:'."\n" - ."\n" - .'* The scaling configuration is in the Active state.'."\n" - .'* The scaling group contains elastic container instances created from the scaling configuration.'."\n", ], 'DescribePatternTypes' => [ - 'summary' => 'Queries instance types. When you call the DescribePatternTypes operation, you can specify attributes such as the vSwitch ID, number of vCPUs, memory size, instance family, and maximum acceptable price to filer instance types that meet your business requirements.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17948,21 +9032,13 @@ 'systemTags' => [ 'operationType' => 'list', 'abilityTreeCode' => '221452', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'VSwitchId', @@ -17971,12 +9047,7 @@ 'schema' => [ 'description' => 'The IDs of the vSwitches.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], + 'items' => ['description' => 'The ID of the vSwitch.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****'], 'required' => false, 'maxItems' => 100, ], @@ -17988,12 +9059,7 @@ 'schema' => [ 'description' => 'The zone IDs. If you pass vSwitch IDs to the system, this parameter does not take effect.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The zone ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], + 'items' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g'], 'required' => false, 'maxItems' => 100, ], @@ -18001,65 +9067,37 @@ [ 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy that you want to apply to pay-as-you-go instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances that have a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The preemption policy that you want to apply to pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are created as preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NoSpot'], ], [ 'name' => 'Cores', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs that you want to assign to the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The number of vCPUs that you want to assign to the instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The memory size that you want to assign to the instance type. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], ], [ 'name' => 'MaxPrice', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price for pay-as-you-go or preemptible instances.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The maximum hourly price for pay-as-you-go or preemptible instances.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2'], ], [ 'name' => 'InstanceFamilyLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance family. Valid values:'."\n" - ."\n" - .'* EntryLevel: entry level'."\n" - .'* EnterpriseLevel: enterprise level'."\n" - .'* CreditEntryLevel: credit-based entry level For more information, see [Burstable instance families](~~59977~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level'."\n" + .'* EnterpriseLevel: enterprise level'."\n" + .'* CreditEntryLevel: credit-based entry level For more information, see [Burstable instance families](~~59977~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel'], ], [ 'name' => 'ExcludedInstanceType', @@ -18073,17 +9111,12 @@ ."\n" .'> If you want to exclude multiple instance types, separate the instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The instance type that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" - .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" - ."\n" - .'> If you want to exclude multiple instance types, separate the instance types with delimiters (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c6.xlarge', - ], + 'items' => ['description' => 'The instance type that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n" + ."\n" + .'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" + ."\n" + .'> If you want to exclude multiple instance types, separate the instance types with delimiters (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.xlarge'], 'required' => false, 'maxItems' => 100, ], @@ -18102,19 +9135,14 @@ ."\n" .'By default, all values are selected.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The architecture type of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: Arm.'."\n" - ."\n" - .'By default, all values are selected.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'* X86: x86 architecture.'."\n" + .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" + .'* BareMetal: ECS Bare Metal Instance.'."\n" + .'* Arm: Arm.'."\n" + ."\n" + .'By default, all values are selected.'."\n", 'type' => 'string', 'required' => false, 'example' => 'X86'], 'required' => false, 'maxItems' => 100, ], @@ -18122,18 +9150,13 @@ [ 'name' => 'BurstablePerformance', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" - ."\n" - .'* Exclude: does not include burstable instance types.'."\n" - .'* Include: includes burstable instance types.'."\n" - .'* Required: includes only burstable instance types.'."\n" - ."\n" - .'Default value: Include.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Include', - ], + 'schema' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + ."\n" + .'* Exclude: does not include burstable instance types.'."\n" + .'* Include: includes burstable instance types.'."\n" + .'* Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Include'], ], [ 'name' => 'CoresList', @@ -18142,13 +9165,7 @@ 'schema' => [ 'description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'items' => ['description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], 'required' => false, 'maxItems' => 10, ], @@ -18160,13 +9177,7 @@ 'schema' => [ 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + 'items' => ['description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], 'required' => false, 'maxItems' => 10, ], @@ -18174,13 +9185,7 @@ [ 'name' => 'ChannelId', 'in' => 'query', - 'schema' => [ - 'description' => 'The channel ID. This parameter is not for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '79425074', - ], + 'schema' => ['description' => 'The channel ID. This parameter is not for public use.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '79425074'], ], [ 'name' => 'InstanceTypeFamilies', @@ -18189,12 +9194,7 @@ 'schema' => [ 'description' => 'The instance families that you want to query. You can query 1 to 10 instance families in each call.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The instance family that you want to query. You can query 1 to 10 instance families in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]', - ], + 'items' => ['description' => 'The instance family that you want to query. You can query 1 to 10 instance families in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]'], 'required' => false, 'maxItems' => 100, ], @@ -18202,24 +9202,12 @@ [ 'name' => 'MinimumCpuCoreCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The minimum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'MaximumCpuCoreCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The maximum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ 'name' => 'GpuSpecs', @@ -18228,12 +9216,7 @@ 'schema' => [ 'description' => 'The GPU models.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The GPU model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["NVIDIA V100"]', - ], + 'items' => ['description' => 'The GPU model.'."\n", 'type' => 'string', 'required' => false, 'example' => '["NVIDIA V100"]'], 'required' => false, 'maxItems' => 100, ], @@ -18261,28 +9244,23 @@ .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" .'* High Performance Compute: HPC-optimized instance type.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The classification of the instance type. Valid values:'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type with local SSDs.'."\n" - .'* High Clock Speed: instance type with high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["Compute-optimized with GPU"]', - ], + 'items' => ['description' => 'The classification of the instance type. Valid values:'."\n" + ."\n" + .'* General-purpose: general-purpose instance type.'."\n" + .'* Compute-optimized: compute-optimized instance type.'."\n" + .'* Memory-optimized: memory-optimized instance type.'."\n" + .'* Big data: big data instance type.'."\n" + .'* Local SSDs: instance type with local SSDs.'."\n" + .'* High Clock Speed: instance type with high clock speeds.'."\n" + .'* Enhanced: enhanced instance type.'."\n" + .'* Shared: shared instance type.'."\n" + .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" + .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" + .'* Heterogeneous Service: heterogeneous service instance type.'."\n" + .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" + .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" + .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" + .'* High Performance Compute: HPC-optimized instance type.'."\n", 'type' => 'string', 'required' => false, 'example' => '["Compute-optimized with GPU"]'], 'required' => false, 'maxItems' => 100, ], @@ -18299,17 +9277,12 @@ .'* x86'."\n" .'* Arm'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The CPU architecture of the instance type. Valid values:'."\n" - ."\n" - .'> You can specify 1 to 2 CPU architectures.'."\n" - ."\n" - .'* x86'."\n" - .'* Arm'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["X86", "ARM"]', - ], + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n" + ."\n" + .'> You can specify 1 to 2 CPU architectures.'."\n" + ."\n" + .'* x86'."\n" + .'* Arm'."\n", 'type' => 'string', 'required' => false, 'example' => '["X86", "ARM"]'], 'required' => false, 'maxItems' => 100, ], @@ -18321,12 +9294,7 @@ 'schema' => [ 'description' => 'The processor models of the instance types. You can specify 1 to 10 processor models.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The processor model of the instance type. You can specify 1 to 10 processor models.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]', - ], + 'items' => ['description' => 'The processor model of the instance type. You can specify 1 to 10 processor models.'."\n", 'type' => 'string', 'required' => false, 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]'], 'required' => false, 'maxItems' => 100, ], @@ -18334,101 +9302,47 @@ [ 'name' => 'MinimumEniQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'MinimumEniPrivateIpAddressQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The minimum number of IPv4 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'MinimumEniIpv6AddressQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The minimum number of IPv6 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'MinimumInitialCredit', 'in' => 'query', - 'schema' => [ - 'description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'], ], [ 'name' => 'MinimumBaselineCredit', 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'], ], [ 'name' => 'MinimumMemorySize', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The minimum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], ], [ 'name' => 'MaximumMemorySize', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + 'schema' => ['description' => 'The maximum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], ], [ 'name' => 'MinimumGpuAmount', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ 'name' => 'MaximumGpuAmount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], ], 'responses' => [ @@ -18438,49 +9352,22 @@ 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], 'PatternTypes' => [ 'description' => 'The instance types that meet the specified requirements.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'The name of the instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7.xlarge', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance family.'."\n" - ."\n" - .'* EntryLevel: entry level (shared instance types) Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'InstanceTypeFamily' => [ - 'description' => 'The instance family.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs that are assigned to the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Memory' => [ - 'description' => 'The memory size that are assigned to the instance type. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '8', - ], + 'InstanceType' => ['description' => 'The name of the instance type.'."\n", 'type' => 'string', 'example' => 'ecs.c7.xlarge'], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types) Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'], + 'InstanceTypeFamily' => ['description' => 'The instance family.'."\n", 'type' => 'string', 'example' => 'ecs.c7'], + 'Cores' => ['description' => 'The number of vCPUs that are assigned to the instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'Memory' => ['description' => 'The memory size that are assigned to the instance type. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '8'], ], ], ], @@ -18490,487 +9377,588 @@ ], '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', - ], - 'CreateScalingRule' => [ - 'summary' => 'Creates a scaling rule. The purpose of a scaling rule varies based on its type. You can use a scaling rule to trigger a scaling activity or adjust the boundary values for a scaling group. You can call the CreateScalingRule operation to create different types of scaling rules based on your business requirements. For example, if your business requires only automatic adjustment of the boundary values for your scaling group, you can call this operation to create a predictive scaling rule.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Queries instance types. When you call the DescribePatternTypes operation, you can specify attributes such as the vSwitch ID, number of vCPUs, memory size, instance family, and maximum acceptable price to filer instance types that meet your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeRegions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125334', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125375', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'AcceptLanguage', 'in' => 'query', + 'schema' => ['description' => 'The language for the response. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" + ."\n" + .'* zh-CN: Chinese'."\n" + .'* en-US: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'Default value: zh-CN.'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'Regions' => [ + 'description' => 'The collection of region information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'ClassicUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in the classic network. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The region endpoint.'."\n", 'type' => 'string', 'example' => 'ess.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The region name.'."\n", 'type' => 'string', 'example' => '华北2(北京)', 'title' => ''], + 'VpcUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in virtual private clouds (VPCs). Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of each scaling rule must be unique under the same account within a region.'."\n" - ."\n" - .'If you leave this parameter empty, the scaling rule ID is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2(北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeRegions', + 'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched. This preliminary step facilitates the strategic selection of both the optimal region and availability zones for activating Auto Scaling, thereby guaranteeing the finest access speeds and operational efficiency within your chosen geographical area.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeScalingActivities' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'By default, this parameter is left empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125358', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'MinAdjustmentMagnitude', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + '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' => 'AdjustmentType', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling method of the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'QuantityChangeInCapacity', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '1', 'default' => '1'], ], [ - 'name' => 'AdjustmentValue', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances that must be scaled based on the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" - ."\n" - .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'example' => '10', 'default' => '10'], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: a simple scaling rule. After you execute a simple scaling rule, Auto Scaling adjusts the number of ECS instances or elastic container instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" - .'* TargetTrackingScalingRule: a target tracking scaling rule. After you execute a target tracking scaling rule, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the expected value (TargetValue).'."\n" - .'* StepScalingRule: a step scaling rule. After you execute a step scaling rule, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" - .'* PredictiveScalingRule: a predictive scaling rule. After you execute a predictive scaling rule, Auto Scaling uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n" - ."\n" - .'Default value: SimpleScalingRule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - 'default' => 'SimpleScalingRule', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n" + ."\n" + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'EstimatedInstanceWarmup', + 'name' => 'StatusCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + ."\n" + .'* Successful: The scaling activity is successful.'."\n" + .'* Warning: The scaling activity is partially successful.'."\n" + .'* Failed: The scaling activity failed.'."\n" + .'* InProgress: The scaling activity is in progress.'."\n" + .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Successful'], ], [ - 'name' => 'MetricName', + 'name' => 'ScalingActivityIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The predefined metric that you want to monitor. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter.'."\n" - ."\n" - .'Valid values if you set ScalingRuleType to TargetTrackingScalingRule:'."\n" - ."\n" - .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" - .'* MemoryUtilization (recommended): the memory usage.'."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n" - .'* IntranetRx: the average inbound traffic over an internal network.'."\n" - .'* VpcInternetTx: the outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" - .'* VpcInternetRx: the inbound traffic from the Internet to a VPC.'."\n" - .'* LoadBalancerRealServerAverageQps:the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" - ."\n" - .'Valid values if you set ScalingRuleType to PredictiveScalingRule:'."\n" + 'description' => 'The IDs of the scaling activities that you want to query.'."\n" ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the average inbound traffic over an internal network.'."\n" - .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling activity that you want to query.'."\n" ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asa-bp161xudmuxdzofe****'], 'required' => false, - 'example' => 'CpuUtilization', + 'maxItems' => 20, ], ], [ - 'name' => 'TargetValue', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The target value. This parameter is required only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F2A46'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TotalCount' => ['description' => 'The total number of scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScalingActivities' => [ + 'description' => 'The scaling activities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling activity.'."\n", + 'type' => 'object', + 'properties' => [ + 'Progress' => ['description' => 'The execution progress of the scaling activity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'ScalingInstanceNumber' => ['description' => '* If you query a scale-out activity, the value of this parameter indicates the number of instances that are created or the number of instances that are started from Economical Mode.'."\n" + .'* If you query a scale-in activity, the value of this parameter indicates the number of instances that are deleted or the number of instances that are stopped in Economical Mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'AttachedCapacity' => ['description' => 'The total number of instances that are manually added to the scaling group after the scaling activity is complete.'."\n", 'type' => 'string', 'example' => '0'], + 'TotalCapacity' => ['description' => 'The total number of instances in the scaling group after the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'], + 'AutoCreatedCapacity' => ['description' => 'The total number of instances that are created by Auto Scaling after the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2'], + 'EndTime' => ['description' => 'The time when the scaling activity was complete.'."\n", 'type' => 'string', 'example' => '2020-09-10T09:54Z'], + 'StartTime' => ['description' => 'The time when the scaling activity was started.'."\n", 'type' => 'string', 'example' => '2020-09-10T09:54Z'], + 'Description' => ['description' => 'The description of the scaling activity.'."\n", 'type' => 'string', 'example' => 'Add \\"1\\" ECS instance'], + 'StatusCode' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + ."\n" + .'* Successful: The scaling activity is successful.'."\n" + .'* Warning: The scaling activity is partially successful.'."\n" + .'* Failed: The scaling activity failed.'."\n" + .'* InProgress: The scaling activity is in progress.'."\n" + .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", 'type' => 'string', 'example' => 'Successful'], + 'Cause' => ['description' => 'The reason why the scaling activity was triggered.'."\n", 'type' => 'string', 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".'], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp161xudmuxdzofe****'], + 'StatusMessage' => ['description' => 'The status message of the scaling activity.'."\n", 'type' => 'string', 'example' => '\\"1\\" ECS instances are added'], + 'CreatedCapacity' => ['description' => 'The number of instances that are created during the scale-out event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'DestroyedCapacity' => ['description' => 'The number of instances that are released during the scale-in event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'StartedCapacity' => ['description' => 'The number of instances that are started from the Economical Mode during the scale-out event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'StoppedCapacity' => ['description' => 'The number of instances that are stopped in the Economical Mode during the scale-in event.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'CreatedInstances' => [ + 'description' => 'The instances that are created during the scale-out event.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instances that are created during the scale-out event.'."\n", 'type' => 'string', 'example' => '["i-abc1","i-abc2"]'], + ], + 'DestroyedInstances' => [ + 'description' => 'The instances that are released during the scale-in event.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instances that are released during the scale-in event.'."\n", 'type' => 'string', 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']'], + ], + 'StartedInstances' => [ + 'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", 'type' => 'string', 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']'], + ], + 'StoppedInstances' => [ + 'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", 'type' => 'string', 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']'], + ], + 'ErrorCode' => ['description' => 'The error code that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'OperationDenied.NoStock'], + 'ErrorMessage' => ['description' => 'The error message that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.'], + 'Detail' => ['description' => 'Details of the scaling activity.'."\n", 'type' => 'string', 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."'], + 'TriggerSourceType' => ['description' => 'The type of the trigger source of the scaling activity. Valid values:'."\n" + ."\n" + .'* Cms: The scaling activity is triggered by an event-triggered task.'."\n" + .'* APIs: The scaling activity is triggered by calling an API operation.'."\n" + .'* Ess: The scaling activity is triggered by Auto Scaling.'."\n", 'type' => 'string', 'example' => 'Api'], + 'TriggerSourceId' => ['description' => 'The ID of the trigger source of the scaling activity. Valid values:'."\n" + ."\n" + .'* If the scaling activity is triggered by an event-triggered task, the ID of the trigger source is the ID of the event-triggered task.'."\n" + .'* If the scaling activity is triggered by calling an API operation, the ID of the trigger source is the ID of the Alibaba Cloud account or Resource Access Management (RAM) user that you use to call the API operation.'."\n" + .'* If the scaling activity is triggered by Auto Scaling, the ID of the trigger source is null.'."\n", 'type' => 'string', 'example' => '2346366580*****'], + 'LifecycleHookContext' => [ + 'description' => 'The context of the lifecycle hook.'."\n", + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Indicates whether all lifecycle hooks are disabled when the scaling activity is triggered. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false'], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'The IDs of the lifecycle hooks that are disabled.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the lifecycle hook that is disabled.'."\n", 'type' => 'string', 'example' => 'ash-bp14zolna43z266bq***'."\n"], + ], + ], + ], + 'ActivityMetadata' => ['description' => 'The metadata of the scaling activity.'."\n", 'type' => 'string', 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}'], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'example' => 'ir-asdf12adsxg*****'], + 'ErrorMessages' => [ + 'description' => 'The error messages that are returned when the scaling activities failed or are partially successful.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The description of the scaling activity exception.'."\n", 'type' => 'string', 'example' => 'Fail to create instances into scaling group.'], + 'Code' => ['description' => 'The error code that is returned when the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'OperationDenied.NoStock'], + 'Message' => ['description' => 'The error message that is returned when the scaling activity failed or is partially successful.'."\n", 'type' => 'string', 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.'], + 'FailedInstanceIds' => [ + 'description' => 'The IDs of the instances included in the failed scaling activities.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance included in the failed scaling activity.'."\n", 'type' => 'string', 'example' => 'i-8vbedazhjj6a6******'], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'description' => '', ], ], - [ - 'name' => 'DisableScaleIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set ScalingRuleType to TargetTrackingScalingRule.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', + ], + 'title' => 'DescribeScalingActivities', + 'summary' => 'Queries scaling activities. You can call the DescribeScalingActivities operation to query the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can query the status and cause of a scaling activity. You can also query the total number of instances after a scaling activity is complete.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F2A46\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": [\\n \\"[\\\\\\"i-abc1\\\\\\",\\\\\\"i-abc2\\\\\\"]\\"\\n ],\\n \\"DestroyedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StartedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StoppedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": [\\n \\"ash-bp14zolna43z266bq***\\\\n\\"\\n ]\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScalingActivityDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScaleInEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" - ."\n" - .'Default value: 15.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125351', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'ScaleOutEvaluationCount', + 'name' => 'ScalingActivityId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling activity that you want to query. You can call the DescribeScalingActivities operation to query the IDs of scaling activities.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asa-bp1c9djwrgxjyk31****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D'], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****'], + 'Detail' => ['description' => 'The details of the scaling activity. The result of a scaling activity is either successful or failed. If the scaling activity is rejected, no scaling activity details are returned.'."\n", 'type' => 'string', 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.'], + ], + 'description' => '', ], ], - [ - 'name' => 'PredictiveScalingMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" - .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n" - ."\n" - .'Default value: PredictAndScale.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PredictAndScale', + ], + 'title' => 'DescribeScalingActivityDetail', + 'summary' => 'Queries the details of a scaling activity. You can query a scaling activity by its ID. The scaling activity details include the scaling activity status, error code, and error message. You can efficiently troubleshoot issues and analyze service performance based on the error message.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","type":"json"}]', + ], + 'DescribeScalingActivityStatistics' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PredictiveValueBehavior', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221448', + 'abilityTreeNodes' => ['FEATUREessL0GZCK'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum value for predication tasks. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n" - ."\n" - .'Default value: MaxOverridePredictiveValue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MaxOverridePredictiveValue', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PredictiveValueBuffer', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio based on which the predicted value is increased when you set `PredictiveValueBehavior` to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-8vbje5pofxxxxxxxx', 'title' => ''], ], [ - 'name' => 'PredictiveTaskBufferTime', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z', 'title' => ''], ], [ - 'name' => 'InitialMaxSize', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n" - ."\n" - .'The default value of this parameter is the value of MaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'StepAdjustments', + 'name' => 'MetricType', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The name of the metric on which the scaling activity is counted. Valid values:'."\n" + ."\n" + .'* ScalingActivityStatus: collects statistics on the distribution of scaling activities in different states within a time range.'."\n" + .'* ScalingActivityErrorCodes: the distribution of error codes in failed scaling activities within a time range.'."\n" + ."\n" + .'Default value: ScalingActivityStatus.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScalingActivityStatus', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Details of the step adjustments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the step adjustments.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => 'A8F44B4D-BAB4-5176-8705-5984xxxxx', 'title' => ''], + 'ScalingActivityStatusStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Statistic' => [ + 'description' => 'The statistical metrics of the scaling activity status.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The statistical metrics of the scaling activity status.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + 'SuccessActivityCount' => ['description' => 'The number of successful scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'FailedActivityCount' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'WarningActivityCount' => ['description' => 'The number of partially executed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ScalingActivityErrorCodeStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ErrorStatistic' => [ + 'description' => 'The error message statistics of the scaling activity.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The error message statistics of the scaling activity.'."\n", + 'type' => 'object', + 'properties' => [ + 'ErrorCode' => ['description' => 'Scaling Activity Error Codes'."\n", 'type' => 'string', 'example' => 'QuotaExceeded.PrivateIpAddress', 'title' => ''], + 'Count' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'DescribeScalingActivityStatistics', + 'summary' => 'The distribution of scaling activities in different states over a period of time.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8F44B4D-BAB4-5176-8705-5984xxxxx\\",\\n \\"ScalingActivityStatusStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"Time\\": \\"2025121623\\",\\n \\"SuccessActivityCount\\": 10,\\n \\"FailedActivityCount\\": 1,\\n \\"WarningActivityCount\\": 2\\n }\\n ]\\n },\\n \\"ScalingActivityErrorCodeStatistics\\": {\\n \\"ErrorStatistic\\": [\\n {\\n \\"ErrorCode\\": \\"QuotaExceeded.PrivateIpAddress\\",\\n \\"Count\\": 4,\\n \\"Time\\": \\"2025121623\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeScalingConfigurations' => [ + 'summary' => 'Queries information about ECS-type scaling configurations, including instance types and images, so that you can learn about the ECS instance templates used for elastic scale-out in advance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '133422', + 'abilityTreeNodes' => ['FEATUREessVYTHU5'], + ], + 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + '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' => 'AlarmDimensions', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The metric dimensions. This parameter is applicable to target tracking scaling rules. If your predefined metric requires extra dimensions, you must specify this parameter. For example, if you use LoadBalancerRealServerAverageQps as your predefined metric, you must use this parameter to specify the rulePool dimension.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-l1cbirz451yxuxxx', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - ], + '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' => 'MetricType', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor.'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + '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' => 'HybridMonitorNamespace', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" - ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliyun-test', - ], + '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' => 'HybridMetrics', + 'name' => 'ScalingConfigurationIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'description' => 'The IDs of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The reference ID of the metric in the metric expression.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a', - ], - 'Expression' => [ - 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" - ."\n" - .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '(a+b)/2', - ], - 'MetricName' => [ - 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AliyunSmq_NumberOfMessagesVisible', - ], - 'Statistic' => [ - 'description' => 'The statistical method of the metric value. Valid values:'."\n" - ."\n" - .'* Average: calculates the average value of all metric values within a specified interval.'."\n" - .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" - .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], - 'Dimensions' => [ - 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'queue', - ], - 'DimensionValue' => [ - 'description' => 'The value of the metric dimension.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testQueue', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['description' => 'The IDs of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmOptions', + 'name' => 'ScalingConfigurationNames', 'in' => 'query', - 'style' => 'flat', + 'style' => 'repeatList', 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Period' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], + 'description' => 'The names of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', + 'type' => 'array', + 'items' => ['description' => 'The names of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon**** '."\n", 'title' => ''], 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -18979,520 +9967,1925 @@ '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-A3DC0DE3****', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling configurations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingConfigurations' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'object', + 'properties' => [ + 'DeploymentSetId' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'example' => 'ds-bp1frxuzdg87zh4p****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling configuration was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.', 'type' => 'string', 'example' => 'scalingconfigura****', 'title' => ''], + 'SystemDiskDescription' => ['description' => 'The description of the system cloud disk.', 'type' => 'string', 'example' => 'Test system disk.', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair used to log on to the ECS instance.', 'type' => 'string', 'example' => 'keypair****', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'PrivatePoolOptions.Id' => ['description' => 'The ID of the private pool. This is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'SystemDiskAutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + 'Affinity' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Tenancy' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated-host instance.'."\n" + ."\n" + .'- host: creates a dedicated-host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system cloud disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SpotDuration' => ['description' => 'The retention period of the spot instance. Unit: hours.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LifecycleState' => ['description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'- Active: The scaling configuration is in the active state. The scaling group uses the active scaling configuration for automatic creation of ECS instances.'."\n" + .'- Inacitve: The scaling configuration is in the inactive state. The scaling configuration exists in the scaling group, but the scaling group does not use it for automatic creation of ECS instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'instance****', 'title' => ''], + 'SecurityEnhancementStrategy' => ['description' => 'Specifies whether security hardening is enabled. Valid values:'."\n" + ."\n" + .'- Active: Security hardening is enabled. This value is applicable only to public images.'."\n" + .'- Deactive: Security hardening is disabled. This value is applicable to all image types.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'UserData' => ['description' => 'The custom data of the ECS instance.', 'type' => 'string', 'example' => 'echo hello ecs! '."\n", 'title' => ''], + 'PrivatePoolOptions.MatchCriteria' => ['description' => 'The private pool capacity option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to select during startup. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the system uses resources from the public pool to start the instance.'."\n" + ."\n" + .'- Target: specified mode. The instance uses the specified private pool to start. If the specified private pool is unavailable, the instance fails to start.'."\n" + ."\n" + .'- None: none mode. The instance does not use private pool capacity to start.', 'type' => 'string', 'example' => 'Open', 'title' => ''], + 'DedicatedHostId' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call the DescribeDedicatedHosts operation to query the list of dedicated host IDs.', 'type' => 'string', 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + 'InstanceGeneration' => ['description' => 'The generation of the ECS instance.', 'type' => 'string', 'example' => 'ecs-3', 'title' => ''], + 'HpcClusterId' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'example' => 'hpc-clus****', 'title' => ''], + 'PasswordInherit' => ['description' => 'Specifies whether to use the password preset in the image.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], + 'ImageFamily' => ['description' => 'The name of the image family. By setting this parameter, you can obtain the latest available image in the current image family for instance creation. If `ImageId` is already specified, this parameter cannot be set.', 'type' => 'string', 'example' => 'hangzhou-daily-update', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + ."\n" + .'- system: a public image provided by Alibaba Cloud.'."\n" + .'- self: a custom image that you created.'."\n" + .'- others: a shared image or community image provided by other Alibaba Cloud users.'."\n" + .'- marketplace: an image from Alibaba Cloud Marketplace.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the ECS instance.', 'type' => 'string', 'example' => 'LocalHost', 'title' => ''], + 'SystemDiskName' => ['description' => 'The name of the system cloud disk.', 'type' => 'string', 'example' => 'cloud_ssd_Test', 'title' => ''], + 'InternetMaxBandwidthOut' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InternetMaxBandwidthIn' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'InstanceDescription' => ['description' => 'The description of the ECS instance.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'IoOptimized' => ['description' => 'Indicates whether the instance is an I/O optimization instance. Valid values:'."\n" + ."\n" + .'- none: non-I/O optimization.'."\n" + .'- optimized: I/O optimization.', 'type' => 'string', 'example' => 'none', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by RAM. You can call ListRoles to query available RAM roles.', 'type' => 'string', 'example' => 'ramrole****', 'title' => ''], + 'SystemDiskPerformanceLevel' => ['description' => 'The performance level (PL) of the system cloud disk when the system cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n" + ."\n" + .'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'example' => 'rg-aekzn2ou7xo****', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the instance. You can call DescribeZones to query the list of available zones.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'InternetChargeType' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is the selected fixed bandwidth value.'."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is only a bandwidth upper limit. Billing is based on the actual network traffic generated.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image file.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd '."\n", 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''], + 'CreditSpecification' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n" + .'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [What are burstable instances](~~59977~~).'."\n" + .'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [What are burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'SpotInterruptionBehavior' => ['description' => 'The break mode of the spot instance.', 'type' => 'string', 'example' => 'Terminate', 'title' => ''], + 'CustomPriorities' => [ + 'description' => 'The custom priorities of instance type + vSwitch combinations.'."\n" + .'><notice>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.</notice>'."\n" + ."\n" + .'When an instance cannot be created based on a higher-priority instance type + vSwitch combination, Auto Scaling automatically selects the next-priority combination to create ECS instance.'."\n" + ."\n" + .'> If only some instance type + vSwitch custom priorities are specified, the unspecified combinations have lower priority than the specified ones, and the unspecified combinations are still prioritized based on the vSwitch order of the scaling group and ECS instance type order of the scaling configuration.'."\n" + .'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, ECS instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.c6a.4xlarge', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp14zolna43z266bq****'."\n", 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DataDisks' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the data cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk.', 'type' => 'string', 'example' => 's-23f2i****', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk.', 'type' => 'string', 'example' => '/dev/xvdb', 'title' => ''], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'DiskName' => ['description' => 'The name of the data cloud disk.', 'type' => 'string', 'example' => 'cloud_ssdData', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key associated with the data cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Indicates whether the data cloud disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- true: The data cloud disk is released when the instance is released.'."\n" + .'- false: The data cloud disk is retained when the instance is released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Encrypted' => ['description' => 'Indicates whether the data cloud disk is encrypted. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud_essd', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that block storage can process per second, representing the read/write (output/input) capability. Unit: operations per second.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Indicates whether the data cloud disk has Burst (performance burst) enabled. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'> This parameter is displayed only when `DataDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL cloud disk](~~368372~~).</props>', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'description' => 'The collection of tag information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'If you specify this parameter, it cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'binary', 'title' => ''], + 'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'If you specify this parameter, it can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'alterTable', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SpotPriceLimits' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the spot instance.', 'type' => 'string', 'example' => 'ecs.g6.large '."\n", 'title' => ''], + 'PriceLimit' => ['description' => 'The price limit for the spot instance.', 'type' => 'number', 'format' => 'float', 'example' => '0.125 '."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InstancePatternInfos' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => ['description' => 'The maximum hourly price acceptable for pay-as-you-go or spot instances.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. Lower cost but no guarantee of stable computing performance. Suitable for scenarios with low average CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. Uses CPU credits to ensure computing performance. Suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'Architectures' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether the instance type is a burstable instance type. Valid values:'."\n" + ."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.', 'type' => 'string', 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.', 'type' => 'string', 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'ecs.g6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The GPU types.', 'type' => 'string', 'example' => 'NVIDIA V100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU computing.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', + 'type' => 'array', + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU computing.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance type. Valid values:'."\n" + ."\n" + .'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum upper limit of elastic network interfaces (ENIs) that the instance supports to mount per network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum upper limit of IPv4 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum upper limit of IPv6 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategories' => [ + 'description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'WeightedCapacities' => [ + 'description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.', + 'type' => 'array', + 'items' => ['description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceTypes' => [ + 'description' => 'The collection of instance types of the ECS instance.', + 'type' => 'array', + 'items' => ['description' => 'The collection of instance types of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SchedulerOptions' => [ + 'description' => '> This parameter is in invitational preview and is not publicly available.', + 'type' => 'object', + 'properties' => [ + 'ManagedPrivateSpaceId' => ['description' => '> This parameter is in invitational preview and is not publicly available.', 'type' => 'string', 'example' => 'testManagedPrivateSpaceId', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SystemDiskEncrypted' => ['description' => 'Indicates whether the system cloud disk is encrypted. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + ."\n" + .'- false: not encrypted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SystemDiskKMSKeyId' => ['description' => 'The ID of the KMS key used by the system cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40**** '."\n", 'title' => ''], + 'SystemDiskEncryptAlgorithm' => ['description' => 'The encryption algorithm used by the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + ."\n" + .'- SM4-128.', 'type' => 'string', 'example' => 'AES-256 '."\n", 'title' => ''], + 'SystemDiskProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that can be processed per second, indicating the read/write capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'SystemDiskBurstingEnabled' => ['description' => 'Indicates whether the system cloud disk has Burst (performance burst) enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + .' '."\n" + .'> This parameter is supported only when SystemDisk.Category is set to cloud_auto.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOptionsLoginAsNonRoot' => ['description' => 'Indicates whether the ECS instance uses the ecs-user user to log on. Valid values:'."\n" + ."\n" + .'- true: yes.'."\n" + .'- false: no.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DeletionProtection' => ['description' => 'The release protection property of the instance, which specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + ."\n" + .'- true: Release protection is enabled. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Release protection is disabled. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'> This property applies only to pay-as-you-go instances and prevents instances scaled out by Auto Scaling from being accidentally deleted. It does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StorageSetId' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + 'StorageSetPartitionNumber' => ['description' => 'The maximum number of partitions in the storage set. Valid values: integers greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'NetworkInterfaces' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Primary: primary network interface controller (NIC).'."\n" + ."\n" + .'- Secondary: secondary elastic network interfaces (ENIs).', 'type' => 'string', 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.', 'type' => 'string', 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the primary ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.', 'type' => 'string', 'example' => 'sg-2vc3e1v7xxxxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the maximum number of IP addresses allowed for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DedicatedHostClusterId' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''], + 'PasswordSetted' => ['description' => 'Indicates whether a password is set for the instance. Valid values:'."\n" + ."\n" + .'- true: A password is set for the instance.'."\n" + .'- false: No password is set for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SecurityOptions' => [ + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'example' => 'TDX', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'HttpEndpoint' => ['description' => 'Indicates whether the access channel for instance metadata is enabled. Valid values:'."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'HttpTokens' => ['description' => 'Indicates whether the China-enhanced mode (IMDSv2) is forcefully used when accessing instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Not forcefully used.'."\n" + .'- required: Forcefully used. After this value is set, instance metadata cannot be accessed in normal mode.', 'type' => 'string', 'example' => 'optional', 'title' => ''], + 'ResourcePoolOptions' => [ + 'description' => 'The resource pool policy used when creating instances.'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: Private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: Private pool only. When this strategy is selected, ResourcePoolOptions.PrivatePoolIds must be specified. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: Public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n" + .'- None: No resource pool policy is used.', 'type' => 'string', 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.', + 'type' => 'array', + 'items' => ['description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'The tags used to filter available Target-type private pools.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags used to filter available Target-type private pools.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'InstanceTypeCandidateOptions' => [ + 'description' => 'When the candidate mode is enabled and issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in candidate zones are created and added to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Indicates whether the candidate mode is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for candidate instance types.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Indicates whether instance types of other generations can be supplemented.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows candidate instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Indicates whether vSwitches in other zones can be supplemented.'."\n" + .'> The instance type remains unchanged. Only new zones are used as candidates. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.', + 'type' => 'array', + 'items' => ['description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.', 'type' => 'string', 'example' => '172.16.0.0/24'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'CpuOptions' => [ + 'description' => 'The CPU options.', + 'type' => 'object', + 'properties' => [ + 'NestedVirtualization' => ['description' => 'Indicates whether hardware-based nested virtualization is enabled. Valid values:'."\n" + ."\n" + .'* enabled'."\n" + .'* disabled', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"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' => 'A scaling rule defines the specific scaling action. For example, you can use a scaling rule to define N instances to add or remove. If the execution of a scaling rule causes the total number of Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to drop below the value of MinSize or to exceed the value of MaxSize, Auto Scaling adjusts the number of instances to add or remove, which ensures that the total number of instances stays within the valid range. Take note that Auto Scaling does not adjust the number of instances that you defined in the scaling rule. Examples:'."\n" - ."\n" - .'* The maximum number of instances (MaxSize) that can be contained in a scaling group is 3 and the current number of instances (Total Capacity) in the scaling group is 2. In this example, the Add3 scaling rule is created to add three ECS instances to the scaling group. However, after you execute Add3, Auto Scaling adds only one ECS instance to the scaling group. In addition, the number of ECS instances to add in the Add3 scaling rule remains unchanged.'."\n" - .'* The minimum number of instances (MinSize) that must be contained in a scaling group is 2 and the current number of instances (Total Capacity) is 3. In this example, the Remove5 scaling rule is created to remove five ECS instances from the scaling group. However, after you execute Remove5, Auto Scaling only removes one ECS instance from the scaling group. In addition, the number of ECS instances to remove in the Remove5 scaling rule remains unchanged.'."\n" - ."\n" - .'Before you call this operation, take note of the following items:'."\n" - ."\n" - .'* If you set AdjustmentType to TotalCapacity, the total number of ECS instances or elastic container instances in your scaling group will be adjusted to a specified number when the scaling rule that you create by calling this operation is executed. You must set AdjustmentValue to an integer that is greater than 0.'."\n" - ."\n" - .'* If you set AdjustmentType to QuantityChangeInCapacity or PercentChangeInCapacity, a positive value of AdjustmentValue specifies that a specific number of ECS instances or elastic container instances will be added to your scaling group, and a negative value of AdjustmentValue specifies that a specific number of ECS instances or elastic container instances will be removed from the scaling group.'."\n" - ."\n" - .'* If you set AdjustmentType to PercentChangeInCapacity, Auto Scaling calculates the number of ECS instances or elastic container instances to add or remove by multiplying the current capacity of the scaling group (Total Capacity) by AdjustmentValue divided by 100, rounding off the result to determine the final adjustment count.'."\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 after you call 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", - ], - 'ModifyScalingRule' => [ - 'summary' => 'Modifies a scaling rule. If an existing scaling rule cannot meet your business requirements, you can call the ModifyScalingRule operation to modify the scaling rule, without the need to create a new one. This streamlines your workflow, enhancing operational efficiency while also contributing to cost optimization by avoiding redundant steps.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\\\t\\\\n\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\\\t\\\\n\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"CustomPriorities\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c6a.4xlarge\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\\\n\\"\\n }\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": [\\n \\"cloud_essd\\"\\n ],\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ],\\n \\"SpotPriceLimits\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\\\t\\\\n\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ],\\n \\"InstancePatternInfos\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": [\\n \\"X86\\"\\n ],\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ],\\n \\"InstanceTypeFamilies\\": [\\n \\"ecs.g6\\"\\n ],\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": [\\n \\"NVIDIA V100\\"\\n ],\\n \\"InstanceCategories\\": [\\n \\"Compute-optimized with GPU\\"\\n ],\\n \\"CpuArchitectures\\": [\\n \\"X86\\"\\n ],\\n \\"PhysicalProcessorModels\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\"\\n ],\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ],\\n \\"SystemDiskCategories\\": [\\n \\"cloud\\"\\n ],\\n \\"WeightedCapacities\\": [\\n 4\\n ],\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ],\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDiskEncrypted\\": false,\\n \\"SystemDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\\\t\\\\n\\",\\n \\"SystemDiskEncryptAlgorithm\\": \\"AES-256\\\\t\\\\n\\",\\n \\"SystemDiskProvisionedIops\\": 100,\\n \\"SystemDiskBurstingEnabled\\": false,\\n \\"ImageOptionsLoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"NetworkInterfaces\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": [\\n \\"sg-2vc3e1v7xxxxx\\"\\n ],\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ],\\n \\"DedicatedHostClusterId\\": \\"dc-zm04u8r3lohsq****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ],\\n \\"PrivatePoolTags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"InstanceTypeCandidateOptions\\": {\\n \\"Enabled\\": true,\\n \\"MaxPrice\\": 2,\\n \\"AllowDifferentGeneration\\": true,\\n \\"AllowCrossAz\\": true,\\n \\"AllowCidrBlocks\\": [\\n \\"172.16.0.0/24\\\\n\\"\\n ]\\n },\\n \\"CpuOptions\\": {\\n \\"NestedVirtualization\\": \\"enabled\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'Query eCS-type scaling configurations', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DescribeScalingGroupDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125391', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '212843', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling rule that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'schema' => ['description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling rule. The name must be 2 to 64 letters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n" - ."\n" - .'The name of each scaling rule must be unique under the same account within the same region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'Cooldown', + 'name' => 'OutputFormat', 'in' => 'query', + 'schema' => ['description' => 'The output format. Set the value to yaml.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroup' => [ + 'description' => 'The scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The virtual private cloud (VPC) ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vpc-wz9fcq97y1vqkd8bijcq6', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of Elastic Compute Service (ECS) instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region.'."\n" + ."\n" + .'The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****'."\n", 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of instance types that are specified. Preemptible instances of multiple lowest-priced instance types are evenly distributed across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that are stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****'."\n", 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode'."\n" + .'* release: release mode'."\n" + .'* forcerelease: forced release mode'."\n" + .'* forcerecycle: forced recycle mode'."\n" + ."\n" + .'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances in the scaling group is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling group is in the Enabled state. Enabled scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" + .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" + .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'GroupDeletionProtection' => ['description' => 'Indicates whether Deletion Protection is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* true: Deletion Protection is enabled for the scaling group. This way, the scaling group cannot be deleted.'."\n" + .'* false: Deletion Protection is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****'."\n", 'title' => ''], + 'GroupType' => ['description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" + ."\n" + .'* ECS: ECS instances'."\n" + .'* ECI: elastic container instances'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" + ."\n" + .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances that use the lowest-priced vCPUs. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances in the case that preemptible instances cannot be created due to insufficient inventory of preemptible instance types.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** The COST_OPTIMIZED setting takes effect only if you specified multiple instance types or preemptible instance types in your scaling configuration.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across the zones of the scaling group. If ECS instance are unevenly distributed across the specified zones due to insufficient inventory of instance types, you can call the RebalanceInstance operation to rebalance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentHostName' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****'."\n", 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, the value of this parameter indicates the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message which indicates that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version number of the launch template.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'description' => 'The backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instance to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****'."\n", 'title' => ''], + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****'."\n", 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number of a backend vServer.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LaunchTemplateOverrides' => [ + 'description' => 'The information about the instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type. The instance type that is specified by using this parameter overwrites the instance type of the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge'."\n", 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only if you specify `LaunchTemplateId`.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AlbServerGroups' => [ + 'description' => 'The information about the Application Load Balancer (ALB) server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the Application Load Balancer (ALB) server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****'."\n", 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ServerGroups' => [ + 'description' => 'The information about the server groups.'."\n" + ."\n" + .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****'."\n", 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RemovalPolicies' => [ + 'description' => 'The instance removal policies.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance removal policy. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that are associated with the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'description' => 'The IDs of the SLB instances that are associated with the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the SLB instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in'."\n" + .'* ScaleOut: scale-out'."\n" + .'* HealthCheck: health check'."\n" + .'* AlarmNotification: event-triggered task'."\n" + .'* ScheduledAction: scheduled task'."\n", + 'type' => 'array', + 'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in'."\n" + .'* ScaleOut: scale-out'."\n" + .'* HealthCheck: health check'."\n" + .'* AlarmNotification: event-triggered task'."\n" + .'* ScheduledAction: scheduled task'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. You must modify the scaling group or scaling configuration to resume the execution of the scaling activities.'."\n" + .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****'."\n", 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or from 86400 to `Integer.maxValue`. A value of 0 for MaxInstanceLifetime indicates that any previously set limit has been removed, which effectively disables the maximum instance lifetime constraint.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'null', 'title' => ''], + 'InitCapacity' => ['description' => 'The number of instances that are in the Initialized state and not added to the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n" + ."\n" + .'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek2epf32c4uyji', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'description' => 'The CLB configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zein3ytoeq49cmkbyxr0', 'title' => ''], + 'Weight' => ['description' => 'The weight of a backend server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" + .'* false: The tags of the scaling group cannot be propagated to any instances.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Output' => ['description' => 'The output details of the scaling group of the Elastic Container Instance type. Currently, the output is displayed in a Kubernetes Deployment YAML file.'."\n", 'type' => 'string', 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'MinAdjustmentMagnitude', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances to scale. This parameter takes effect only if you create a simple scaling rule or step scaling rule and set `AdjustmentType` to `PercentChangeInCapacity`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + ], + 'title' => 'DescribeScalingGroupDetail', + 'summary' => 'Queries a scaling group. You can call the DescribeScalingGroupDetail operation to query the basic information, instances, and scaling configurations of a scaling group. If you set OutputFormat to YAML for a scaling group of the Elastic Container Instance type, the output is a Kubernetes Deployment file in the YAML format.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroup\\": {\\n \\"VpcId\\": \\"vpc-wz9fcq97y1vqkd8bijcq6\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\\\n\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\\\n\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\\\n\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 0,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\\\n\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\\\n\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\\\n\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\\\n\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 80\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\\\n\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\\\n\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\\\n\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\\\n\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\\\n\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\\\n\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\\\n\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"null\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aek2epf32c4uyji\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zein3ytoeq49cmkbyxr0\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"EnableDesiredCapacity\\": true,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]', + ], + 'DescribeScalingGroupDiagnoseDetails' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AdjustmentType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The adjustment method of the scaling rule. This is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'QuantityChangeInCapacity', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221455', + 'abilityTreeNodes' => ['FEATUREessA4Z14P'], + ], + 'parameters' => [ [ - 'name' => 'AdjustmentValue', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The target value specified in the scaling rule. This parameter is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" - ."\n" - .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The ID of the region to which the scaling group belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'EstimatedInstanceWarmup', + 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> Auto Scaling calculates the number of ECS instances that need to be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'ID of the request', 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****'], + 'Details' => [ + 'description' => 'The diagnostic reports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The diagnostic report.'."\n", + 'type' => 'object', + 'properties' => [ + 'DiagnoseType' => ['description' => 'The type of the diagnostic item. Valid values:'."\n" + ."\n" + .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account is sufficient.'."\n" + .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" + .'* VSwitch: Checks whether the vSwitch is available. If the specified vSwitch is deleted, specify an existing vSwitch for the scaling group.'."\n" + .'* SecurityGroup: Checks whether the security group is available. If the specified security group is deleted, specify an existing security group for the scaling group.'."\n" + .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" + .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n", 'type' => 'string', 'example' => 'SecurityGroup'], + 'ResourceId' => ['description' => 'The resource ID corresponding to the diagnostic result.', 'type' => 'string', 'example' => 'sg-280ih****'], + 'Status' => ['description' => 'Status of the diagnostic item. Possible values:'."\n" + ."\n" + .'- Normal: The diagnostic result is normal.'."\n" + ."\n" + .'- Warn: The diagnostic result is a warning.'."\n" + ."\n" + .'- Critical: The diagnostic result is critical.', 'type' => 'string', 'example' => 'Normal'], + 'ErrorCode' => ['description' => 'The error code of the diagnostic item. Valid values:'."\n" + ."\n" + .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" + .'* SecurityGroupNotFound: The security group does not exist.'."\n" + .'* KeyPairNotFound: The key pair does not exist.'."\n" + .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" + .'* AccountArrearage: Your account has an overdue payment.'."\n" + .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is insufficient.'."\n" + .'* ElasticStrengthAlert: The inventory levels are lower than required.'."\n", 'type' => 'string', 'example' => 'AccountArrearage'], + ], + ], + ], + ], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The predefined metric. This parameter is required only if you create a target tracking scaling rule or predictive scaling rule.'."\n" - ."\n" - .'Valid values if you create a target tracking scaling rule:'."\n" - ."\n" - .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" - .'* MemoryUtilization (recommended): the memory usage.'."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetTx: the average outbound traffic over an internal network.'."\n" - .'* IntranetRx: the average inbound traffic over an internal network.'."\n" - .'* VpcInternetTx: the average outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" - .'* VpcInternetRx: the average inbound traffic from the Internet to a VPC.'."\n" - .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" - ."\n" - .'Valid values if you create a predictive scaling rule:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the average inbound traffic over an internal network.'."\n" - .'* IntranetTx: the average outbound traffic over an internal network.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', + ], + 'title' => 'Query the Latest Diagnostics Details of a Scaling Group', + 'summary' => 'DescribeScalingGroupDiagnoseDetails', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDiagnoseDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"SecurityGroup\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"AccountArrearage\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScalingGroups' => [ + 'summary' => 'Queries information about scaling groups, such as the basic information, instances, and scaling configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TargetValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The target value. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125357', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ [ - 'name' => 'DisableScaleIn', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ScaleInEvaluationCount', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => 'The page number. Page starts from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScaleOutEvaluationCount', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'PredictiveScalingMode', + 'name' => 'GroupType', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" - .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PredictAndScale', - ], + 'schema' => ['description' => 'The type of instances that are managed by the scaling group. Valid values:'."\n" + ."\n" + .'* ECS: Elastic Compute Service (ECS) instances.'."\n" + .'* ECI: elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'PredictiveValueBehavior', + 'name' => 'ScalingGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies which one of the initial maximum capacity and the predicted value can be used as the maximum value for prediction tasks. Valid values:'."\n" + 'description' => 'The IDs of the scaling groups that you want to query.'."\n" ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n", - 'type' => 'string', + .'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling group that you want to query.'."\n" + ."\n" + .'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => 'MaxOverridePredictiveValue', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PredictiveValueBuffer', + 'name' => 'ScalingGroupNames', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The names of the scaling groups that you want to query.'."\n" + ."\n" + .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the scaling group that you want to query.'."\n" + ."\n" + .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup**** '."\n", 'title' => ''], 'required' => false, - 'example' => '50', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PredictiveTaskBufferTime', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'InitialMaxSize', + 'name' => 'ResourceGroupId', '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 ID of the resource group to which the scaling group that you want to query belongs.'."\n" + ."\n" + .'> If no scaling group belongs to the specified resource group, the query result is empty and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''], ], [ - 'name' => 'StepAdjustments', + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'The tags of the scaling group.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'The tag of the scaling group.'."\n", 'type' => 'object', 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit that is specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'Key' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AlarmDimensions', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-l1cbirz451yxu2dxxx', + 'description' => 'Details about the scaling group list.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroups' => [ + 'description' => 'The scaling groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) in which the scaling group resides.'."\n", 'type' => 'string', 'example' => 'vpc-bp1vwnn14rqpyiczj****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****', 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of instance types in the scaling group. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that was stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in excess when the minimum number of pay-as-you-go instances reaches the threshold. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was last modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether Auto Scaling can create pay-as-you-go instances to supplement preemptible instances if preemptible instances cannot be created due to price-related factors or insufficient inventory when MultiAZPolicy is set to COST_OPTIMIZED. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode.'."\n" + .'* release: release mode.'."\n" + .'* forcerelease: forced release mode.'."\n" + ."\n" + .'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling group is active. Active scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" + .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" + .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'GroupDeletionProtection' => ['description' => 'Indicates whether the Deletion Protection feature is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* true: The Deletion Protection feature is enabled for the scaling group. The scaling group cannot be deleted.'."\n" + .'* false: The Deletion Protection feature is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****', 'title' => ''], + 'GroupType' => ['description' => 'The type of instances that are managed by the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" + ."\n" + .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances if preemptible instances cannot be created due to limited stock.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** The COST_OPTIMIZED setting takes effect only if your scaling configuration contains multiple instance types or contains preemptible instance types.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances become unevenly distributed across the specified zones due to limited instance type availability, you can call the RebalanceInstance operation to balance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentHostName' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, this parameter specifies the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling proactively creates instances to replace the preemptible instances for reclamation when Auto Scaling receives a system notification.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. During the cooldown period, Auto Scaling does not execute the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'description' => 'The backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend vServer group.'."\n", + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancer to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number that is used by the load balancer to provide external services.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type that is extended in the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of a single instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type. The instance type that is specified by this parameter overrides the instance type that is specified in the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AlbServerGroups' => [ + 'description' => 'The Application Load Balancer (ALB) server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ALB server group.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ServerGroups' => [ + 'description' => 'The information about the server groups.'."\n" + ."\n" + .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server group information.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by each ECS instance in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RemovalPolicies' => [ + 'description' => 'The instance removal policies. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance removal policy. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'description' => 'The IDs of the load balancers that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the load balancer that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in processes.'."\n" + .'* ScaleOut: scale-out processes.'."\n" + .'* HealthCheck: health check processes.'."\n" + .'* AlarmNotification: event-triggered task processes.'."\n" + .'* ScheduledAction: scheduled task processes.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in processes.'."\n" + .'* ScaleOut: scale-out processes.'."\n" + .'* HealthCheck: health check processes.'."\n" + .'* AlarmNotification: event-triggered task processes.'."\n" + .'* ScheduledAction: scheduled task processes.'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. In this case, you must modify the scaling group or scaling configuration to resume the scaling activities.'."\n" + .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****', 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across the specified zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The instance allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. The policy is suitable for pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. This parameter indicates the manner in which Auto Scaling selects instance types to create the required number of preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of preemptible instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum life span of each ECS instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 for MaxInstanceLifetime indicates that a previously set limit has been removed. This effectively disables the maximum instance lifetime constraint.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + 'InitCapacity' => ['description' => 'The number of instances that are initialized before they are added into the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n", 'type' => 'string', 'example' => 'rg-123****', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'description' => 'The load balancer configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The load balancer configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zep8alpq5zq1a2xwyxxx', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the CLB server group. An increase in the weight of an ECS instance indicates an increase in the number of access requests that are forwarded to the ECS instance. If you set the weight of an ECS instance to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated only to new instances.'."\n" + .'* false: The tags of the scaling group cannot be propagated to instances.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values: 0 to 1024.'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstances' => [ + 'description' => 'The databases that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The database that is attached to the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => 'The ID of the database.'."\n", 'type' => 'string', 'example' => 'rm-m5eqju85s45mu0***'."\n", 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'* RDS.'."\n" + .'* Redis.'."\n" + .'* MongoDB.'."\n", 'type' => 'string', 'example' => 'RDS', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of the security groups that are added to the security group whitelist of the attached database.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group that is added to the security group whitelist of the attached database.'."\n" + ."\n" + .'If you set `RemoveSecurityGroup` in the DetachDBInstances operation to `true`, the security groups specified by this parameter are removed from the security group whitelist of the attached database.'."\n", 'type' => 'string', 'example' => 'sg-uf65zt66cf2a0q47***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SpotCapacity' => ['description' => 'The number of preemptible instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StopInstanceTimeout' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'CapacityOptions' => [ + 'description' => 'The capacity options.'."\n", + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the actual number of pay-as-you-go instances drops below the minimum threshold, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go ECS instances with preemptible ECS instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible ECS instances to replace the surplus pay-as-you-go ECS instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go ECS instances if there are not enough preemptible instance types available. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'Indicates how prices are compared. Valid values:'."\n" + ."\n" + .'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n" + ."\n" + .' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n" + ."\n" + .'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n", 'type' => 'string', 'example' => 'PricePerUnit', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'BalanceMode' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid value:'."\n" + ."\n" + .'* Default value: BalancedBestEffort. If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" + .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n", 'type' => 'string', 'title' => '', 'example' => 'BalancedBestEffort'], + 'AutoRebalance' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid value:'."\n" + ."\n" + .'* false: Auto rebalancing is disabled for the scaling group.'."\n" + .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n", 'type' => 'boolean', 'title' => '', 'example' => 'false'], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'DescribeScalingGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 1,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-123****\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zep8alpq5zq1a2xwyxxx\\",\\n \\"Weight\\": 10\\n }\\n ],\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ],\\n \\"DBInstances\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\\\n\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\n ],\\n \\"SpotCapacity\\": 0,\\n \\"StopInstanceTimeout\\": 60,\\n \\"CapacityOptions\\": {\\n \\"OnDemandBaseCapacity\\": 0,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 0,\\n \\"CompensateWithOnDemand\\": true,\\n \\"SpotAutoReplaceOnDemand\\": false,\\n \\"PriceComparisonMode\\": \\"PricePerUnit\\"\\n },\\n \\"BalanceMode\\": \\"BalancedBestEffort\\",\\n \\"AutoRebalance\\": false\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScalingInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125341', + 'abilityTreeNodes' => ['FEATUREessPMOEEX'], + ], + 'parameters' => [ [ - 'name' => 'MetricType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor.'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HybridMonitorNamespace', + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance is healthy. '."\n" + .'- Unhealthy: The ECS instance is unhealthy. '."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n" + ."\n" + .'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'required' => false, 'example' => 'Healthy', 'title' => ''], + ], + [ + 'name' => 'LifecycleState', 'in' => 'query', + 'schema' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], + ], + [ + 'name' => 'CreationType', + 'in' => 'query', + 'schema' => ['description' => 'The method used to create the instance in the scaling group. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the ECS instance list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page in a paged query. Settings: Maximum value: 100.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ScalingActivityId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + 'description' => 'The IDs of the ECS instances.'."\n" ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the ECS instances.'."\n" + ."\n" + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], 'required' => false, - 'example' => 'aliyun-test', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HybridMetrics', + 'name' => 'CreationTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\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' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The reference ID of the metric in the metric expression.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'a', - ], - 'Expression' => [ - 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" - ."\n" - .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '(a+b)/2', - ], - 'MetricName' => [ - 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AliyunSmq_NumberOfMessagesVisible', - ], - 'Statistic' => [ - 'description' => 'The statistical method of the metric value. Valid values:'."\n" - ."\n" - .'* Average: calculates the average value of all metric values within a specified interval.'."\n" - .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" - .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], - 'Dimensions' => [ - 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'queue', - ], - 'DimensionValue' => [ - 'description' => 'The value of the metric dimension.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testQueue', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['description' => 'The method used to create instances in the scaling group. Valid values: AutoCreated, Attached, and Managed.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmOptions', + 'name' => 'LifecycleStates', 'in' => 'query', - 'style' => 'flat', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The alert attributes.'."\n", - 'type' => 'object', - 'properties' => [ - 'Period' => [ - 'description' => 'The statistical period of the metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], + 'description' => 'The lifecycle states of ECS instances in the scaling group. You can specify only one of this parameter and LifecycleState. We recommend that you use this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', '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' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSpotCount' => ['description' => 'The total number of running spot instances in the current scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of ECS instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingInstances' => [ + 'description' => 'The collection of ECS instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of ECS instance information.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the minute.', 'type' => 'string', 'example' => '2020-05-18T03:11Z', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the load balancing instance.'."\n" + .'> This parameter is deprecated and is not recommended.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the spot instance. Valid values:'."\n" + ."\n" + .'- SpotWithPriceLimit: The spot instance has a maximum price limit.'."\n" + .'- SpotAsPriceGo: The system automatically bids at the current market price.', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HealthStatus' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance is healthy. '."\n" + .'- Unhealthy: The ECS instance is unhealthy. '."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n" + ."\n" + .'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'example' => 'Healthy', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the instance belongs.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'WarmupState' => ['description' => 'The warmup state of the ECS instance. Valid values: '."\n" + .' '."\n" + .'- NoNeedWarmup: No warmup is required.'."\n" + .'- WaitingForInstanceWarmup: The instance is waiting for warmup to complete.'."\n" + .'- InstanceWarmupFinish: Warmup is complete.', 'type' => 'string', 'example' => 'NoNeedWarmup', 'title' => ''], + 'LifecycleState' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'example' => 'InService', 'title' => ''], + 'CreationType' => ['description' => 'The method used to create the ECS instance. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'example' => 'AutoCreated', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], + 'Entrusted' => ['description' => 'Indicates whether the manually added instance is managed by the scaling group. A managed manually added instance is released when it is removed from the scaling group (excluding manual removal). Valid values:'."\n" + .'- true: The instance is managed by the scaling group.'."\n" + .'- false: The instance is not managed by the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The weight indicates the capacity that a single instance of this instance type represents in the scaling group. A higher weight means that fewer instances of this type are required to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the second.', 'type' => 'string', 'example' => '2020-05-18T03:11:39Z', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the ECS instance was added to the scaling group.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'ScalingInstanceId' => ['description' => 'The instance identity in the scaling group, which has a one-to-one mapping with the ECS instance ID or Elastic Container Instance (ECI) instance identity.', 'type' => 'string', 'example' => 'asi-j6cj1gcte640ekhb****', 'title' => ''], + 'PrivateIpAddress' => ['description' => 'The private IP address of the instance in the scaling group.', 'type' => 'string', 'example' => '1**.2*.1**.2**', 'title' => ''], + 'ReplaceStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyScalingRule', + 'title' => 'Query ECS instances in a scaling group', + 'summary' => 'Calls DescribeScalingInstances to query the list and information of ECS instances in a scaling group by scaling group ID, including the total number of running spot instances, the total number of ECS instances, the warmup state of ECS instances, and the lifecycle state in the current scaling group. You can also filter ECS instances by health check status, lifecycle state, or creation type.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\",\\n \\"ReplaceStatus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeScalingRules' => [ - 'summary' => 'Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19503,90 +11896,52 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '125364', - 'abilityTreeNodes' => [ - 'FEATUREessRL7GKO', - ], + 'abilityTreeNodes' => ['FEATUREessRL7GKO'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling rules that you want to query belong.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling rules that you want to query belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.'."\n" - .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" - .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - ], + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.'."\n" + .'* TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.'."\n" + .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" + .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule'], ], [ 'name' => 'ShowAlarmRules', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ 'name' => 'ScalingRuleIds', @@ -19595,12 +11950,7 @@ 'schema' => [ 'description' => 'The IDs of the scaling rules that you want to query.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the scaling rules that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'items' => ['description' => 'The IDs of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asr-bp1dvirgwkoowxk7****'], 'required' => false, 'maxItems' => 10, ], @@ -19612,12 +11962,7 @@ 'schema' => [ 'description' => 'The names of the scaling rules that you want to query.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The names of the scaling rules that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], + 'items' => ['description' => 'The names of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****'], 'required' => false, 'maxItems' => 10, ], @@ -19629,12 +11974,7 @@ 'schema' => [ 'description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], + 'items' => ['description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'], 'required' => false, 'maxItems' => 10, ], @@ -19645,29 +11985,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling rules.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'TotalCount' => ['description' => 'The total number of scaling rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], 'ScalingRules' => [ 'description' => 'The scaling rules.'."\n", 'type' => 'array', @@ -19675,147 +11996,47 @@ 'description' => 'The scaling rule.'."\n", 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'AdjustmentType' => [ - 'description' => 'The adjustment method of the scaling rule. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds or removes the specified number of Elastic Compute Service (ECS) instances to or from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds or removes the specified percentage of ECS instances to or from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", - 'type' => 'string', - 'example' => 'QuantityChangeInCapacity', - ], - 'InitialMaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify this parameter, you must also specify PredictiveValueBehavior.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EstimatedInstanceWarmup' => [ - 'description' => 'The warm-up period of instances. During the warm-up period, a series of preparation measures are taken for the new instances. Performance metrics of instances being warmed up are not counted towards the monitoring range.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScaleOutEvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PredictiveScalingMode' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" - .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", - 'type' => 'string', - 'example' => 'PredictAndScale', - ], - 'MinAdjustmentMagnitude' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect only if you set ScalingRuleType to SimpleScalingRule or StepScalingRule and set AdjustmentType to PercentChangeInCapacity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingRuleAri' => [ - 'description' => 'The unique identifier of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - 'PredictiveTaskBufferTime' => [ - 'description' => 'The amount of buffer time before prediction tasks are executed. By default, all prediction tasks that are automatically created based on a predictive scaling rule are executed on the hour. You can specify a buffer time for resource preparation before prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MinSize' => [ - 'description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], - 'PredictiveValueBehavior' => [ - 'description' => 'The action on the predicted maximum value. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by PredictiveValueBuffer, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.'."\n", - 'type' => 'string', - 'example' => 'MaxOverridePredictiveValue', - ], - 'TargetValue' => [ - 'description' => 'The target value of the metric. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, Auto Scaling keeps the metric value close to the target value by adding instances to or removing instances from the scaling group.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.125', - ], - 'Cooldown' => [ - 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PredictiveValueBuffer' => [ - 'description' => 'The ratio based on which the predicted value is increased when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'ScalingRuleType' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: a simple scaling rule. Once a simple scaling rule is executed, Auto Scaling adjusts the number of ECS instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" - .'* TargetTrackingScalingRule: a target tracking scaling rule. Once a target tracking scaling rule is executed, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the specified target value (TargetValue).'."\n" - .'* StepScalingRule: a step scaling rule. Once a step scaling rule is executed, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" - .'* PredictiveScalingRule: a predictive scaling rule. Once a predictive scaling rule is executed, Auto Scaling analyzes the historical monitoring data based on the machine learning technology and predicts the trends of metric data. Auto Scaling also creates scheduled tasks to enable dynamic adjustment of the boundary values for the scaling group.'."\n", - 'type' => 'string', - 'example' => 'SimpleScalingRule', - ], - 'AdjustmentValue' => [ - 'description' => 'The number of instances that must be scaled based on the scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleInEvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'DisableScaleIn' => [ - 'description' => 'Indicates whether scale-in is disabled. This parameter takes effect only if you set ScalingRuleType to TargetTrackingScalingRule. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingRuleName' => [ - 'description' => 'The name of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'scalingrule****', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'MetricName' => ['description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'CpuUtilization'], + 'AdjustmentType' => ['description' => 'The adjustment method of the scaling rule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds or removes the specified number of Elastic Compute Service (ECS) instances to or from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds or removes the specified percentage of ECS instances to or from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", 'type' => 'string', 'example' => 'QuantityChangeInCapacity'], + 'InitialMaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify this parameter, you must also specify PredictiveValueBehavior.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'EstimatedInstanceWarmup' => ['description' => 'The warm-up period of instances. During the warm-up period, a series of preparation measures are taken for the new instances. Performance metrics of instances being warmed up are not counted towards the monitoring range.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'ScaleOutEvaluationCount' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'PredictiveScalingMode' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" + .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", 'type' => 'string', 'example' => 'PredictAndScale'], + 'MinAdjustmentMagnitude' => ['description' => 'The minimum number of instances that must be scaled. This parameter takes effect only if you set ScalingRuleType to SimpleScalingRule or StepScalingRule and set AdjustmentType to PercentChangeInCapacity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'], + 'PredictiveTaskBufferTime' => ['description' => 'The amount of buffer time before prediction tasks are executed. By default, all prediction tasks that are automatically created based on a predictive scaling rule are executed on the hour. You can specify a buffer time for resource preparation before prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30'], + 'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1ffogfdauy0jw0****'], + 'PredictiveValueBehavior' => ['description' => 'The action on the predicted maximum value. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by PredictiveValueBuffer, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.'."\n", 'type' => 'string', 'example' => 'MaxOverridePredictiveValue'], + 'TargetValue' => ['description' => 'The target value of the metric. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, Auto Scaling keeps the metric value close to the target value by adding instances to or removing instances from the scaling group.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.125'], + 'Cooldown' => ['description' => 'The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'PredictiveValueBuffer' => ['description' => 'The ratio based on which the predicted value is increased when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'ScalingRuleType' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: a simple scaling rule. Once a simple scaling rule is executed, Auto Scaling adjusts the number of ECS instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" + .'* TargetTrackingScalingRule: a target tracking scaling rule. Once a target tracking scaling rule is executed, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the specified target value (TargetValue).'."\n" + .'* StepScalingRule: a step scaling rule. Once a step scaling rule is executed, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" + .'* PredictiveScalingRule: a predictive scaling rule. Once a predictive scaling rule is executed, Auto Scaling analyzes the historical monitoring data based on the machine learning technology and predicts the trends of metric data. Auto Scaling also creates scheduled tasks to enable dynamic adjustment of the boundary values for the scaling group.'."\n", 'type' => 'string', 'example' => 'SimpleScalingRule'], + 'AdjustmentValue' => ['description' => 'The number of instances that must be scaled based on the scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScaleInEvaluationCount' => ['description' => 'The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'DisableScaleIn' => ['description' => 'Indicates whether scale-in is disabled. This parameter takes effect only if you set ScalingRuleType to TargetTrackingScalingRule. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true'], + 'ScalingRuleName' => ['description' => 'The name of the scaling rule.'."\n", 'type' => 'string', 'example' => 'scalingrule****'], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule.'."\n", 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****'], 'Alarms' => [ 'description' => 'The event-triggered tasks that are associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n", 'type' => 'array', @@ -19823,60 +12044,26 @@ 'description' => 'The event-triggered task that is associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n", 'type' => 'object', 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****', - ], - 'ComparisonOperator' => [ - 'description' => 'The comparison operator between the statistical value and the threshold of the metric of the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the threshold: >='."\n" - .'* Valid value if the metric value is less than or equal to the threshold: <='."\n" - .'* Valid value if the metric value is greater than the threshold: >'."\n" - .'* Valid value if the metric value is less than the threshold: <'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'MetricName' => [ - 'description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of consecutive times when the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AlarmTaskName' => [ - 'description' => 'The name of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'alarmtask****', - ], - 'MetricType' => [ - 'description' => 'The type of the metric of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* system: system metrics'."\n" - .'* custom: custom metrics'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Threshold' => [ - 'description' => 'The alert threshold of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '50', - ], - 'Statistics' => [ - 'description' => 'The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Maximum'."\n" - .'* Minimum'."\n", - 'type' => 'string', - 'example' => 'Average', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****'], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the metric of the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >='."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <='."\n" + .'* Valid value if the metric value is greater than the threshold: >'."\n" + .'* Valid value if the metric value is less than the threshold: <'."\n", 'type' => 'string', 'example' => '>='], + 'MetricName' => ['description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'CpuUtilization'], + 'EvaluationCount' => ['description' => 'The number of consecutive times when the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'AlarmTaskName' => ['description' => 'The name of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'string', 'example' => 'alarmtask****'], + 'MetricType' => ['description' => 'The type of the metric of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* system: system metrics'."\n" + .'* custom: custom metrics'."\n", 'type' => 'string', 'example' => 'system'], + 'Threshold' => ['description' => 'The alert threshold of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '50'], + 'Statistics' => ['description' => 'The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Maximum'."\n" + .'* Minimum'."\n", 'type' => 'string', 'example' => 'Average'], 'Dimensions' => [ 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'array', @@ -19884,28 +12071,15 @@ 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the dimension that is associated with the metric. Valid values:'."\n" - ."\n" - .'* ScalingGroupId: the ID of the scaling group.'."\n" - .'* userId: the ID of the user account.'."\n", - 'type' => 'string', - 'example' => 'scaling_group', - ], - 'DimensionValue' => [ - 'description' => 'The value of the dimension that is associated with the metric.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'DimensionKey' => ['description' => 'The key of the dimension that is associated with the metric. Valid values:'."\n" + ."\n" + .'* ScalingGroupId: the ID of the scaling group.'."\n" + .'* userId: the ID of the user account.'."\n", 'type' => 'string', 'example' => 'scaling_group'], + 'DimensionValue' => ['description' => 'The value of the dimension that is associated with the metric.'."\n", 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****'], ], ], ], - 'Period' => [ - 'description' => 'The statistical period of the metric data in the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], + 'Period' => ['description' => 'The statistical period of the metric data in the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60'], ], ], ], @@ -19916,24 +12090,9 @@ 'description' => 'The step adjustments of the step scaling rule.'."\n", 'type' => 'object', 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The number of ECS instances that are scaled in a step adjustment.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], + 'MetricIntervalUpperBound' => ['description' => 'The upper limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '5.0'], + 'ScalingAdjustment' => ['description' => 'The number of ECS instances that are scaled in a step adjustment.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MetricIntervalLowerBound' => ['description' => 'The lower limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '1.0'], ], ], ], @@ -19943,84 +12102,44 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric.'."\n", - 'type' => 'string', - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric.'."\n", - 'type' => 'string', - 'example' => 'sgp-l1cbirz451yxu2dxxx', - ], + 'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'example' => 'rulePool'], + 'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'example' => 'sgp-l1cbirz451yxu2dxxx'], ], 'description' => '', ], ], - 'MetricType' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor.'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'HybridMonitorNamespace' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" - ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', - 'example' => 'aliyun-test', - ], + 'MetricType' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'example' => 'system'], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'example' => 'aliyun-test'], 'HybridMetrics' => [ 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'The reference ID of the metric in the metric expression.'."\n", - 'type' => 'string', - 'example' => 'a', - ], - 'Expression' => [ - 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" - ."\n" - .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", - 'type' => 'string', - 'example' => '(a+b)/2', - ], - 'MetricName' => [ - 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", - 'type' => 'string', - 'example' => 'AliyunSmq_NumberOfMessagesVisible', - ], - 'Statistic' => [ - 'description' => 'The statistical method of the metric value. Valid values:'."\n" - ."\n" - .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" - .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" - .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", - 'type' => 'string', - 'example' => 'Average', - ], + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'example' => 'a'], + 'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'example' => '(a+b)/2'], + 'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible'], + 'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" + .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" + .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", 'type' => 'string', 'example' => 'Average'], 'Dimensions' => [ 'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'example' => 'queue', - ], - 'DimensionValue' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'example' => 'testQueue', - ], + 'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'queue'], + 'DimensionValue' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'example' => 'testQueue'], ], 'description' => '', ], @@ -20037,152 +12156,131 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ],\\n \\"Period\\": 60\\n }\\n ],\\n \\"StepAdjustments\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ],\\n \\"AlarmDimensions\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2****\\"\\n }\\n ],\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', 'title' => 'DescribeScalingRules', - 'description' => '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.', - ], - 'DeleteScalingRule' => [ - 'summary' => 'Deletes a scaling rule.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ],\\n \\"Period\\": 60\\n }\\n ],\\n \\"StepAdjustments\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ],\\n \\"AlarmDimensions\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2dxxx\\"\\n }\\n ],\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScheduledTasks' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125395', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '125344', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], ], '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 region ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'RegionId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteScalingRule', - ], - 'ExecuteScalingRule' => [ - 'summary' => 'Executes a scaling rule. To adjust the number of Elastic Compute Service (ECS) instances or elastic container instances, you can manually execute a scaling rule or enable Auto Scaling to execute a scaling rule. You can call the ExecuteScalingRule operation to execute simple scaling rules or step scaling rules. Auto Scaling automatically executes target tracking scaling rules and predictive scaling rules on your behalf without requiring explicit execution calls.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125340', - 'abilityTreeNodes' => [ - 'FEATUREessKCZYL8', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'example' => '50', 'default' => '10'], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingRuleAri', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique identifier of the scaling rule.'."\n" - ."\n" - .'> You can call this operation to execute simple scaling rules and step scaling rules. If you want to call this operation to execute a step scaling rule, you must specify `BreachThreshold` and `MetricValue`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1bo5tca4m56nap****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ScheduledActions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + 'description' => 'The scaling rules of the scheduled tasks. Once the scheduled tasks are triggered, the scaling rules are executed.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The scaling rule of the scheduled task. Once the scheduled task is triggered, the scaling rule is executed.'."\n" ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + .'Set the value to the unique identifier of the scaling rule (ScalingRuleAri).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****'], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'maxItems' => 20, ], ], [ - 'name' => 'BreachThreshold', + 'name' => 'ScheduledTaskIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', + 'description' => 'The IDs of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edRtShc57WGXdt8TlPbr****'], 'required' => false, - 'example' => '1.0', + 'maxItems' => 20, ], ], [ - 'name' => 'MetricValue', + 'name' => 'ScheduledTaskNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The metric value specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', + 'description' => 'The names of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], 'required' => false, - 'example' => '1.0', + 'maxItems' => 20, ], ], [ - 'name' => 'RegionId', + 'name' => 'TaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which scheduled task N is repeatedly executed. Valid values:'."\n" + ."\n" + .'* Daily: Scheduled task N is executed once every specified number of days.'."\n" + .'* Weekly: Scheduled task N is executed on each specified day of a week.'."\n" + .'* Monthly: Scheduled task N is executed on each specified day of a month.'."\n" + .'* Cron: Scheduled task N is executed based on the specified Cron expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Weekly'], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The number of times scheduled task N is repeatedly executed.'."\n" + ."\n" + .'You can specify this parameter only if you set RecurrenceType to Weekly. Separate multiple values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.'."\n", 'type' => 'string', 'required' => false, 'example' => '1,2,3'], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether scheduled task N is enabled.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -20190,47 +12288,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp13o672yeautiil****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'TotalCount' => ['description' => 'The total number of scheduled tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ScheduledTasks' => [ + 'description' => 'The information collection of the scheduled tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the scheduled tasks.'."\n", + 'type' => 'object', + 'properties' => [ + 'TaskEnabled' => ['description' => 'Indicates whether the scheduled task is enabled.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'RecurrenceValue' => ['description' => 'The frequency of recurrence of the scheduled task.'."\n", 'type' => 'string', 'example' => '1'], + 'RecurrenceType' => ['description' => 'The recurring interval of the scheduled task.'."\n", 'type' => 'string', 'example' => 'Daily'], + 'MaxValue' => ['description' => 'The maximum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ScheduledTaskName' => ['description' => 'The name of the scheduled task.'."\n", 'type' => 'string', 'example' => 'scheduled****'], + 'RecurrenceEndTime' => ['description' => 'The end time of the recurrence of the scheduled task.'."\n", 'type' => 'string', 'example' => '2014-08-20T16:55Z'], + 'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'ScheduledTaskId' => ['description' => 'The ID of the scheduled task.'."\n", 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****'], + 'MinValue' => ['description' => 'The minimum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'example' => 'asg-bp1bo5tca4m56nap****'], + 'LaunchExpirationTime' => ['description' => 'The time window during which the scheduled task can be retried. Unit: seconds. Valid values: 0 to 21600.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '600'], + 'Description' => ['description' => 'The description of the scheduled task.'."\n", 'type' => 'string', 'example' => 'Test scheduled task.'], + 'ScheduledAction' => ['description' => 'The scaling rule of the scheduled task. A value is returned for this parameter only after you specify ScheduledActions.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****'], + 'LaunchTime' => ['description' => 'The point in time at which the scheduled task is triggered.'."\n", 'type' => 'string', 'example' => '2014-08-18T10:52Z'], + ], + ], ], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ExecuteScalingRule', - 'description' => 'Before you call this operation, take note of the following items:'."\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" - .'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 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" - .'You can specify only a limited number of ECS instances in each adjustment. For more information, see the description of the AdjustmentValue parameter in the CreateScalingRule topic.'."\n", - ], - 'ScaleWithAdjustment' => [ - 'summary' => 'Scales instances. The ScaleWithAdjustment operation differs from the ExecuteScalingRule operation in that ScaleWithAdjust can directly scale instances without requiring you to create a scaling rule in advance.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DescribeScheduledTasks', + 'summary' => 'Queries scheduled tasks. A scheduled task is a predefined task that triggers the automatic execution of a scaling rule at the specified point in time. It ensures an automatic scaling of computing resources to fulfill your business demands at a minimum cost. After you create a scheduled task, you can call the DescribeScheduledTasks operation to query the details of the task, such as the execution time point and the scaling group ID. You can also call this operation to query the total number of existing scheduled tasks.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DetachAlbServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20240,278 +12356,150 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125372', - 'abilityTreeNodes' => [ - 'FEATUREessSQIS9M', - ], + 'abilityTreeCode' => '125336', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-j6c1o397427hyjdc****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'AdjustmentType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling policy. 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' => true, - 'docRequired' => true, - 'example' => 'QuantityChangeInCapacity', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + ."\n" + .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'AdjustmentValue', + 'name' => 'ForceDetach', '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' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances from the Application Load Balancer (ALB) server group marked for detachment. Valid values:'."\n" + ."\n" + .'* true: removes the existing ECS instances from the ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are removed from the ALB server group.'."\n" + .'* false: does not remove the existing ECS instances from the ALB server group.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'MinAdjustmentMagnitude', + 'name' => 'AlbServerGroups', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'Details of the ALB server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the ALB server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****'], + 'Port' => ['description' => 'The port number used by the ECS instances in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22'], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, ], ], - [ - 'name' => 'ClientToken', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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****', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the ALB server group is detached from the scaling group and the existing ECS instances are removed from the ALB server group. This parameter has a return value only if you set `ForceDetach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DetachAlbServerGroups', + 'summary' => 'Detaches Application Load Balancer (ALB) server groups from a scaling group. When you call the DetachAlbServerGroups operation, you can specify the scaling group ID, ALB server group ID, and port used by Elastic Compute Service (ECS) instances in the desired ALB server group to detach one or more ALB server groups from your scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DetachDBInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SyncActivity', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '125376', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger the scaling task 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 task in a synchronous manner. A scaling activity is triggered at the time when the scaling rule is executed.'."\n" - .'* false: does not trigger the scaling task 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 and determines whether to trigger the scaling activity based on the check result.'."\n" - ."\n" - .'> For more information, see [Expected number of instances](~~146231~~).'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'ParallelTask', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the current scale-out task supports concurrency.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'Overrides', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The overrides that allow you to adjust the scaling group of the Elastic Container Instance (ECI) type during a scale-out event.'."\n", - 'type' => 'object', - 'properties' => [ - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the instance. Unit: vCPUs.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that you want to allocate to the instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'ContainerOverrides' => [ - 'description' => 'The list of parameters that you want to use to override specific configurations for containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container overriding parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the container. If you specify ContainerOverrides, you must also specify Name. ContainerOverrides takes effect only when the container name specified by Name matches that specified in the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'container-1', - ], - 'Args' => [ - 'description' => 'The argument that corresponds to the startup command of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The argument that corresponds to the startup command of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'arg', - ], - 'required' => false, - ], - 'Commands' => [ - 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - ], - 'EnvironmentVars' => [ - 'description' => 'The information about the environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the environment variables.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. Format requirement: `[0-9a-zA-Z]` and underscores (\\_). It cannot start with a digit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/tomcat', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container. Unit: vCPUs.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that you want to allocate to the container. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'UserData' => [ - 'description' => 'The user data of the Elastic Compute Service (ECS) instance. The user data must be encoded in Base64 format. The size of raw data before Base64 encoding cannot exceed 32 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ZWNobyBoZWxsbyBlY3Mh', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'LifecycleHookContext', + 'name' => 'DBInstances', 'in' => 'query', - 'style' => 'json', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The context of the lifecycle hook.'."\n", - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'description' => 'Specifies whether to disable the lifecycle hook. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'IgnoredLifecycleHookIds' => [ - 'description' => 'The IDs of the lifecycle hooks that you want to disable.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the lifecycle hook that you want to disable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp14zolna43z266bq***', - ], - 'required' => false, - ], - 'LifecycleHookResult' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, + 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3**** '."\n"], + 'required' => true, + 'maxItems' => 5, ], ], [ - 'name' => 'ActivityMetadata', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The metadata of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key":"value"}', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], [ - 'name' => 'ExecutionMode', + 'name' => 'RemoveSecurityGroup', 'in' => 'query', - 'schema' => [ - 'description' => 'The execution mode. Valid values:'."\n" - ."\n" - .'* None: If this is not specified, auto scaling is performed.'."\n" - .'* PlanOnly: Scaling is not triggered. Only elastic planning is performed. The planning result is returned in PlanResult, including the instance type, zone ID, billing type, and number of created instances.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PlanOnly', - ], + 'schema' => ['description' => 'Specifies whether to remove the security group. This parameter takes effect only if you set `AttachMode` to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -20519,104 +12507,33 @@ '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-A3DC0DE3****', - ], - 'ActivityType' => [ - 'description' => 'The type of the scaling activity.'."\n" - ."\n" - .'If `ActivityType` is set to `CapacityChange`, only the expected number of instances is changed during the scaling activity specified by ScalingActivityId and no scale-out is triggered.'."\n" - ."\n" - .'This parameter is applicable to only scaling groups that have an expected number of instances.'."\n", - 'type' => 'string', - 'example' => 'CapacityChange', - ], - 'PlanResult' => [ - 'description' => 'The elastic planning result returned when the ExecutionMode is set to PlanOnly.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceAllocations' => [ - 'description' => 'The resource allocation information in the elastic planning result.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing-g', - ], - 'InstanceType' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', - 'example' => 'ecs.u1-c1m8.large', - ], - 'SpotStrategy' => [ - 'description' => 'The spot policy of instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as spot instances for which you can specify the maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are spot instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'Amount' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'InstanceChargeType' => [ - 'description' => 'The billing method of the instance. Valid values:'."\n" - ."\n" - .'* **Prepaid**: subscription.'."\n" - .'* **Postpaid**: pay-as-you-go.'."\n", - 'type' => 'string', - 'example' => 'PostPaid', - ], - ], - 'description' => '', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - '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"}]', - 'title' => 'ScaleWithAdjustment', - 'description' => '* Before you call this operation, take note of the following items:'."\n" - ."\n" - .' * The scaling group is in the Active state.'."\n" - .' * The scaling group has no ongoing scaling activities.'."\n" - ."\n" - .'* If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities before the cooldown period of the scaling group expires.'."\n" - ."\n" - .'* If the addition of a specific number of Elastic Compute Service (ECS) instances to the scaling group causes the total number of ECS instances in the scaling group to exceed the maximum allowed number, Auto Scaling adds ECS instances to the scaling group until the total number of instances is equal to the maximum allowed number.'."\n" - ."\n" - .'* If the removal of a specific number of ECS instances from the scaling group causes the total number of ECS instances in the scaling group to be less than the minimum allowed number, Auto Scaling removes ECS instances from the scaling group until the total number of instances is equal to the minimum allowed number.'."\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 `ScalingActivityId` in the response.'."\n", - ], - 'AttachInstances' => [ - 'summary' => 'Adds instances to a scaling group to provide services or restarts Elastic Compute Service (ECS) instances stopped in Economical Mode to provide services. You can call the AttachInstances operation to add ECS instances, elastic container instances, or third-party instances managed by Alibaba Cloud to your scaling group to provide services. You can also call this operation to restart ECS instances stopped in Economical Mode in your scaling group to provide services.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DetachDBInstances', + 'summary' => 'Detaches one or more ApsaraDB RDS instances from a scaling group. If you want to decrease the number of ApsaraDB RDS instances attached to your scaling group, you can call the DetachDBInstance operation. This operation liberates ApsaraDB RDS instances from your scaling group, thereby significantly boosting the agility and efficiency in managing and allocating your resources.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DetachInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20625,140 +12542,82 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125356', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '125382', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], ], '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.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'Entrusted', + 'name' => 'DecreaseDesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the scaling group to manage the lifecycles of manually added instances. Valid values:'."\n" - ."\n" - .'* true: The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" - .'* false: The scaling group does not manage the lifecycles of manually added instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" - ."\n" - .'> You cannot specify this parameter for subscription instances, non-Alibaba Cloud instances, and instances in Economical Mode.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to adjust the expected number of instances in the scaling group. Valid values:'."\n" + ."\n" + .'* true: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group decreases.'."\n" + .'* false: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group remains unchanged.'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'InstanceIds', + 'name' => 'DetachOption', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance, elastic container instance, non-Alibaba Cloud instance, or instance in Economical Mode.'."\n" - ."\n" - .'Sample IDs:'."\n" - ."\n" - .'* ECS instance: i-28wt4\\*\\*\\*\\*.'."\n" - .'* Elastic container instance: eci-bp17gw49eu09yiwm\\*\\*\\*\\*.'."\n" - .'* Non-Alibaba Cloud instance: mi-2cx\\*\\*\\*\\*\\*.'."\n" - .'* ECS instance in Economical Mode: i-2cd2f\\*\\*\\*\\*.'."\n" - ."\n" - .'> You can add only instances of the same type to a scaling group at a time in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'Specifies whether to detach the ECS instances or elastic container instances that are marked for removal from the associated load balancers, and whether to remove the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" + ."\n" + .'Both: detaches the ECS instances or elastic container instances that are marked for removal from the associated load balancers and removes the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" + ."\n" + .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'both'], ], [ - 'name' => 'LoadBalancerWeights', + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n", + 'description' => 'The IDs of the ECS instances, elastic container instances, or Aliababa Cloud-managed third-party instances that you want to remove from a scaling group.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 1 to 100.'."\n" - ."\n" - .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger the lifecycle hook for scale-outs when you call this operation. Valid values:'."\n" + 'items' => ['description' => 'The ID of the ECS instance, elastic container instance, or Aliababa Cloud-managed third-party instance that you want to remove from a scaling group.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'Examples:'."\n" ."\n" - .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" + .'* ECS instance: `i-bp109k5j3dum1ce6****`'."\n" + .'* Elastic container instance: `eci-bp17gw49eu09yiwm****`'."\n" + .'* Alibaba Cloud-hosted third-party instance: `mi-d23fsd******`'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + .'> You can remove only one type of instances at a time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'], + 'required' => true, + 'maxItems' => 100, ], ], [ - 'name' => 'RegionId', + 'name' => 'LifecycleHook', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'Specifies whether to trigger a lifecycle hook for scale-in purposes when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ClientToken', + 'name' => 'IgnoreInvalidInstance', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'* true: ignores invalid instances. If invalid instances exist and valid instances are removed from the scaling group, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" + .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when a batch of instances is added to the scaling group. Valid values:'."\n" - ."\n" - .'* true: ignores invalid instances. If invalid instances exist and valid instances are added, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" - .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to add to the scaling group, an error is reported.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], ], 'responses' => [ @@ -20766,16 +12625,8 @@ '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', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], @@ -20783,222 +12634,196 @@ ], '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' => 'DetachInstances', + 'summary' => 'Removes instances from a scaling group. If an enabled scaling group has no ongoing scaling activities, you can call the DetachInstances operation to remove one or more Elastic Compute Service (ECS) instances, elastic container instances, or Alibaba Cloud-hosted third-party instances from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]', - 'title' => 'AttachInstances', - 'description' => 'Before you call this operation, take note of the following items:'."\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 or 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 must be 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 value of the MaxSize parameter, 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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', ], - 'RemoveInstances' => [ - 'summary' => 'Removes one or more instances from a scaling group. If your scaling group is enabled and contains no ongoing scaling activities, you can call the RemoveInstances operation to remove instances that you no longer require from the scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DetachLoadBalancers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '125337', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', - ], + 'abilityTreeCode' => '125361', + '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.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ - 'name' => 'RemovePolicy', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The action subsequent to the removal of the Elastic Compute Service (ECS) instances. Valid values:'."\n" - ."\n" - .'* recycle: The ECS instances enter the Economical Mode.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This setting is applicable only if you set `ScalingPolicy` to `recycle`.'."\n" - ."\n" - .'* release: The ECS instances are released.'."\n" - ."\n" - .'ScalingPolicy of the CreateScalingGroup operation specifies the reclaim mode of the scaling group while RemovePolicy of the RemoveInstances operation specifies the subsequent action when an ECS instance is removed from the scaling group. 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' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the load balancer. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'DecreaseDesiredCapacity', + 'name' => 'ClientToken', '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 the scaling group, the expected number of ECS instances in the scaling group decreases.'."\n" - .'* false: After ECS instances are removed from the 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 client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" - ."\n" - .'* true: ignores invalid instances. If invalid instances exist and valid instances are deleted, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" - .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" + .'* false: does not detach the CLB instance from the scaling group in an asynchronous manner.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'InstanceIds', + 'name' => 'LoadBalancers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances that you want to remove from the scaling group.'."\n", + 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance that you want to remove from the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'items' => ['description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs**** '."\n"], 'required' => true, - 'maxItems' => 1000, + 'maxItems' => 5, ], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity. The value of this parameter is returned only if you set the Async parameter to true. You can call the describescalingactivities operation to query all scaling activity IDs and use the scaling activity IDs to check the status of the scaling activities.'."\n", 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], ], ], + ], + 'title' => 'DetachLoadBalancers', + 'summary' => 'Detaches Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instances from a scaling group. If the current CLB instance no longer meets your business requirements, you can call the DetachLoadBalancers operation to detach it from your scaling group. When you call this operation, you can use ScalingGroupId, LoadBalancer.N, and ForceDetach to specify one or more CLB instances to detach. You can also determine whether to call this operation asynchronously and whether to remove the Elastic Compute Service (ECS) instances acting as backend servers from the backend server groups of the CLB instance. You can call this operation to detach only CLB instances from a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DetachServerGroups' => [ + 'summary' => 'Remove one or more SLB server groups from a scaling group. Supported server group types include Application Load Balancer (ALB), Network Load Balancer (NLB), and Gateway Load Balancer (GWLB), which can dynamically adjust SLB policies and help improve high availability of the system.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166343', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. 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~~).'."\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, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'StopInstanceTimeout', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time required by the ECS instance to enter the Stopped state. Unit: seconds. Valid values: 30 to 240.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* By default, this parameter inherits the value of StopInstanceTimeout specified in the CreateScalingGroup or ModifyScalingGroup operation. You can also specify a different value for this parameter in the RemoveInstances operation.'."\n" - ."\n" - .'* This parameter takes effect only if you set RemovePolicy to release.'."\n" - ."\n" - .'* If you specify this parameter, the system waits for the ECS instance to enter the Stopped state only for up to the specified period of time before continuing with the scale-in operation, regardless of the status of the ECS instance.'."\n" - ."\n" - .'* If you do not specify this parameter, the system continues with the scale-in operation until the ECS instance enters the Stopped state. If the ECS instance is not successfully stopped, the scale-in process is rolled back and considered failed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group from the server group marked for detachment.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LifecycleHookContext', + 'name' => 'ServerGroups', 'in' => 'query', - 'style' => 'json', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The context of the lifecycle hook.'."\n", - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'description' => 'Specifies whether to disable the lifecycle hook. Valid values:'."\n" + 'description' => 'The information about the server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-1gv2uidn2msy****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'IgnoredLifecycleHookIds' => [ - 'description' => 'The IDs of the lifecycle hooks that you want to disable.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the lifecycle hook that you want to disable.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp14zolna43z266bq***', - ], - 'required' => false, - ], - 'LifecycleHookResult' => [ - 'type' => 'string', - 'required' => false, + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Port' => ['description' => 'The port used by ECS instances or elastic container instances as backend servers of the server group.'."\n" + ."\n" + .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], ], @@ -21007,192 +12832,164 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp175o6f6ego3r2j****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'IgnoredInstances' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'Code' => [ - 'type' => 'string', - ], - 'Message' => [ - 'type' => 'string', - ], - ], - ], - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the server group is detached from the scaling group and the existing servers, which are the ECS instances or elastic container instances in the scaling group, are removed from the server group.'."\n" + ."\n" + .'> This parameter is returned only if you set `ForceDetach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'title' => 'DetachServerGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'RemoveInstances', - 'description' => '* 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 is stopped in economical mode or is released after 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 after the instance is removed from the scaling group.'."\n" - .'* If the difference between the number of existing ECS instances specified by the TotalCapacity parameter and the number of ECS instances that you call this operation to remove is less than the value of the MinSize parameter, the call fails.'."\n" - ."\n" - .'A successful call only means that Auto Scaling accepts the request. 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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', ], - 'DetachInstances' => [ - 'summary' => 'Removes instances from a scaling group. If an enabled scaling group has no ongoing scaling activities, you can call the DetachInstances operation to remove one or more Elastic Compute Service (ECS) instances, elastic container instances, or Alibaba Cloud-hosted third-party instances from the scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DetachVServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125382', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', - ], + 'abilityTreeCode' => '125323', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'], ], [ - 'name' => 'DecreaseDesiredCapacity', + 'name' => 'ClientToken', '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 client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'DetachOption', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to detach the ECS instances or elastic container instances that are marked for removal from the associated load balancers, and whether to remove the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" - ."\n" - .'Both: detaches the ECS instances or elastic container instances that are marked for removal from the associated load balancers and removes the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" - ."\n" - .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'both', - ], + 'schema' => ['description' => 'Specifies whether to remove the existing instances in the scaling group from the vServer group marked for detachment.'."\n" + ."\n" + .'* true: If you set this parameter to `true`, the detachment of the load balancer from the scaling group causes automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n" + .'* false: If you set this parameter to `false`, the detachment of the load balancer from the scaling group does not cause automatic removal of the existing instances in the scaling group from the corresponding vServer group.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'InstanceIds', + 'name' => 'VServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances, elastic container instances, or Aliababa Cloud-managed third-party instances that you want to remove from a scaling group.'."\n", + 'description' => 'The collection of information about the vServer groups marked for detachment.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The ID of the ECS instance, elastic container instance, or Aliababa Cloud-managed third-party instance that you want to remove from a scaling group.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ECS instance: `i-bp109k5j3dum1ce6****`'."\n" - .'* Elastic container instance: `eci-bp17gw49eu09yiwm****`'."\n" - .'* Alibaba Cloud-hosted third-party instance: `mi-d23fsd******`'."\n" - ."\n" - .'> You can remove only one type of instances at a time.'."\n", - 'type' => 'string', + 'description' => 'Details of the vServer groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****'], + 'Port' => ['description' => 'The port number that Auto Scaling employs to incorporate instances into the vServer group. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + 'LoadBalancerId' => ['description' => 'The ID of the load balancer to which the vServer group belongs.'."\n" + ."\n" + .'> You can detach vServer groups of up to five load balancers from a scaling group in one call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1p90y3ya9h8s62d****'], + ], 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', ], 'required' => true, 'maxItems' => 100, ], ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to trigger a lifecycle hook for scale-in purposes when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], + ], + 'title' => 'DetachVServerGroups', + 'summary' => 'Detaches vServer groups from a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups to improve service performance. If the load balancer currently attached to your scaling group is no longer needed to distribute the access traffic to the instances in your scaling group, you can call the DetachVServerGroups operation to detach one or more vServer groups of this load balancer from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DisableAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IgnoreInvalidInstance', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125352', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" - ."\n" - .'* true: ignores invalid instances. If invalid instances exist and valid instances are removed from the scaling group, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" - .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'ClientToken', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], ], ], 'responses' => [ @@ -21200,57 +12997,33 @@ '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****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****'], ], 'description' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'title' => 'DisableAlarm', + 'summary' => 'Disables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you currently do not need an event-triggered task, you can call the DisableAlarm operation to disable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DetachInstances', - 'description' => '* Before you call the DetachInstances operation, make sure that the following conditions are met:'."\n" - ."\n" - .' * The specified scaling group is enabled.'."\n" - .' * The specified scaling group does not have any ongoing scaling activities.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If the specified scaling group does not have any ongoing scaling activities, the operation can bypass the cooldown period of the scaling group and immediately trigger scaling activities.'."\n" - ."\n" - .'* Before you call this operation, take note of the following items:'."\n" - ."\n" - .' * The ECS instances, elastic container instances, or Alibaba Cloud-hosted third-party instances that are removed from a scaling group by using this operation can run independently. If needed, you can call the [AttachInstances](~~25954~~) operation to re-add these instances to a scaling group.'."\n" - .' * The ECS instances, elastic container instances, or Alibaba Cloud-hosted third-party instances that are removed from a scaling group by using this operation are not stopped or released.'."\n" - .' * A successful call only means that Auto Scaling accepts your request. Scaling activities can be triggered as expected, but their successful execution is not guaranteed. You can query the status of a scaling activity based on the ScalingActivityId response parameter.'."\n" - .' * The removal of ECS instances, elastic container instances, or Alibaba Cloud-hosted third-party instances must not result in the overall number of instances within the specified scaling group falling below the minimum capacity threshold (MinSize); otherwise, an error will be reported.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]', ], - 'CreateScheduledTask' => [ - 'summary' => 'Creates a scheduled task. A scheduled task is a type of scaling task that enables automatic execution of a specific scaling rule at a specified point in time. You can call the CreateScheduledTask operation to create a scheduled task to implement automatic scaling of computing resources. This ensures your business continuity and minimizes resource costs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DisableScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21258,443 +13031,466 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125330', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125389', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', + 'description' => 'The request ID.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], ], ], - [ - 'name' => 'ScheduledTaskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n" - ."\n" - .'If you do not specify this parameter, the value of the `ScheduledTaskId` parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', + ], + 'title' => 'DisableScalingGroup', + 'summary' => 'Disables a scaling group. If you temporarily do not require a scaling group that is in the Enabled state, you can call the DisableScalingGroup operation to disable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'EnableAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test scheduled task.', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125397', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ [ - 'name' => 'ScheduledAction', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Specify the unique identifier of the scaling rule.'."\n" - ."\n" - .'If you specify `ScheduledAction`, the scheduled task uses an existing scaling rule. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'RecurrenceEndTime', + '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' => [ - '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****'], + ], + 'description' => '', ], ], - [ - 'name' => 'LaunchTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The point in time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard. The time must be in UTC. You cannot trigger a scheduled task more than 90 days after its creation.'."\n" - ."\n" - .'* If you specify `RecurrenceType`, the scheduled task is repeatedly triggered at the point in time that is specified by LaunchTime.'."\n" - .'* If you do not specify `RecurrenceType`, the scheduled task is triggered only once at the time point that is specified by LaunchTime.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '2014-08-17T16:52Z', + ], + 'title' => 'EnableAlarm', + 'summary' => 'Enables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you want to reuse an event-triggered task that is in the Disabled state, you can call the EnableAlarm operation to enable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]', + ], + 'EnableScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RecurrenceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" - ."\n" - .'* Daily: The scheduled task is executed once every specified number of days.'."\n" - .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" - .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" - ."\n" - .'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Daily', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125366', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], + ], + 'parameters' => [ [ - 'name' => 'RecurrenceValue', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n" - ."\n" - .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" - .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" - ."\n" - .'You must specify both the `RecurrenceType` parameter and the `RecurrenceValue` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp14wlu85wrpchm0****'], ], [ - 'name' => 'TaskEnabled', + 'name' => 'ActiveScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to enable in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp1ffogfdauy0nu5****'], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'LaunchTemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The time period during which the failed scheduled task can be retried. Unit: seconds. Valid values: 0 to 1800.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', - 'default' => '600', - ], + 'schema' => ['description' => 'The ID of the launch template that is used by Auto Scaling to create ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****'], ], [ - 'name' => 'MinValue', + 'name' => 'LaunchTemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The version number of the launch template. Valid values:'."\n" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: The default template version is always used.'."\n" + .'* Latest: The latest template version is always used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default'], ], [ - 'name' => 'MaxValue', + 'name' => 'InstanceIds', '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 IDs of the ECS instances that you want to add to the scaling group after the scaling group is enabled.'."\n" + ."\n" + .'Before you add ECS instances to the scaling group, make sure that the instances meet the following requirements:'."\n" + ."\n" + .'* The instances must reside in the same region as the scaling group.'."\n" + .'* The instances must be in the Running state.'."\n" + .'* The instances do not belong to another scaling group.'."\n" + .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" + .'* If you specify VswitchID for the scaling group, the instances must share the same VPC as the scaling group.'."\n" + .'* If you do not specify VswitchID for the scaling group, the instances must use the classic network.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance that you want to add to the scaling group after the scaling group is enabled.'."\n" + ."\n" + .'Before you add an ECS instance to the scaling group, make sure that the instance meets the following requirements:'."\n" + ."\n" + .'* The instance must reside in the same region as the specified scaling group.'."\n" + .'* The instance must be in the Running state.'."\n" + .'* The instance does not belong to another scaling group.'."\n" + .'* The instance is billed on a subscription or pay-as-you-go basis, or the instance is a preemptible instance.'."\n" + .'* If you specify VswitchID for the scaling group, the instance must share the same VPC as the scaling group.'."\n" + .'* If you do not specify VswitchID for the scaling group, the instance must use the classic network.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-283vv**** '."\n"], 'required' => false, - 'example' => '10', + 'maxItems' => 100, ], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'LoadBalancerWeights', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" + 'description' => 'The weights of ECS instances or elastic container instances as backend servers.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server.'."\n" ."\n" - .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], 'required' => false, - 'example' => '10', + 'maxItems' => 100, ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'LaunchTemplateOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group. If you specify this parameter, the number of instances in the scaling group will be changed when the scheduled task is triggered.'."\n" - ."\n" - .'If you specify `ScalingGroupId`, you must also specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", - 'type' => 'string', + 'description' => 'The information about the instance types that you want to extend in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify `LaunchTemplateOverrides.WeightedCapacity` after you specify this parameter.'."\n" + ."\n" + .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" + ."\n" + .'You can use this parameter to specify any instance types that are available for purchase.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge'], + 'WeightedCapacity' => ['description' => 'The weight of the instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n" + ."\n" + .'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" + ."\n" + .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'* Current capacity: 0'."\n" + .'* Expected capacity: 6'."\n" + .'* Capacity of ecs.c5.xlarge: 4'."\n" + ."\n" + .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" + ."\n" + .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 10, ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - '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 ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateScheduledTask', - 'description' => '* If the scaling rule of a scheduled task fails to be executed due to an ongoing scaling activity in the scaling group or because the scaling group is disabled, the scheduled task is automatically retried during the time window specified by `LaunchExpirationTime`. If the scheduled task still fails after the specified time window ends, the task is automatically skipped.'."\n" - ."\n" - .'* If several scheduled tasks concurrently attempt to execute the same scaling rule within a scaling group, the following rules apply:'."\n" - ."\n" - .' * Scaling groups with **Expected Number of Instances** configured: The scaling activities incurred by the scheduled tasks are parallel scaling activities. In a proximate time window, Auto Scaling can trigger several scheduled tasks and then execute multiple parallel scaling activities at the same time.'."\n" - .' * Scaling groups with **Expected Number of Instances** not configured: The scaling activity incurred by the earliest scheduled task is executed. Considering that a scaling group allows for no more than one ongoing scaling activity simultaneously, other scheduled tasks will spontaneously invoke retries within the time window specified by `LaunchExpirationTime`. Upon completion of the first scheduled task, any retries invoked by other tasks within the time window specified by `LaunchExpirationTime` lead to continuous enforcement of the scaling rule, with each iteration generating a distinct scaling activity.'."\n" - ."\n" - .'* You can use one of the following methods to specify the scaling mode:'."\n" - ."\n" - .' * ScheduledAction: Specify an existing scaling rule that you want Auto Scaling to execute when the scheduled task is triggered.'."\n" - .' * ScalingGroupId: Specify the minimum number, maximum number, or expected number of instances for the scaling group for which you create the scheduled task.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** You cannot specify ScheduledAction and ScalingGroupId at the same time.'."\n", - ], - 'ModifyScheduledTask' => [ - 'summary' => 'Modifies a scheduled task. If an existing scheduled task cannot meet your business requirements, you can call the ModifyScheduledTask operation to adjust its parameter settings including the scaling rule to execute and the boundary values of your scaling group, without the need to create a new scheduled task. This operation provides a flexible way to optimize scheduled tasks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'EnableScalingGroup', + 'summary' => 'Enables a scaling group. If a scaling group is in the Disabled state and contains an instance configuration source such as a launch template or a scaling configuration, you can call the EnableScalingGroup operation to enable the scaling group. This operation permits Auto Scaling to dynamically adjust the computing power (also known as the number of instances) in the scaling group based on your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'EnterStandby' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125370', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', - ], + 'abilityTreeCode' => '125322', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'Description', + 'name' => 'InstanceIds', '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', - 'required' => false, - 'example' => 'Test scheduled task.', + 'description' => 'The IDs of the ECS instances.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IDs of the ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], + 'required' => true, + 'maxItems' => 20, ], ], [ - 'name' => 'ScheduledAction', + 'name' => 'Async', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to asynchronously put the ECS instance into the Standby state. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Enter the ID of the scaling rule. To obtain the ID of a scaling rule, go to the scaling rule details page. If you specify `ScheduledAction`, you must select an existing scaling rule for the scheduled task.'."\n" - ."\n" - .'> You can specify only one of `ScheduledAction` and `ScalingGroupId`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], + ], + 'description' => '', ], ], - [ - 'name' => 'RecurrenceEndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is modified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-20T16:55Z', + ], + 'title' => 'EnterStandby', + 'summary' => 'Puts an Elastic Compute Service (ECS) instance into the Standby state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + ], + 'ExecuteScalingRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LaunchTime', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125340', + 'abilityTreeNodes' => ['FEATUREessKCZYL8'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleAri', 'in' => 'query', - 'schema' => [ - 'description' => 'The point in time at which the scheduled task is triggered. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the point in time at which the scheduled task is modified.'."\n" - ."\n" - .'* If you specify the `RecurrenceType` parameter, the task is repeatedly executed at the time point that is specified by the LaunchTime parameter.'."\n" - .'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the point in time that is specified by the LaunchTime parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-18T10:52Z', - ], + 'schema' => ['description' => 'The unique identifier of the scaling rule.'."\n" + ."\n" + .'> You can call this operation to execute simple scaling rules and step scaling rules. If you want to call this operation to execute a step scaling rule, you must specify `BreachThreshold` and `MetricValue`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****'], ], [ - 'name' => 'RecurrenceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" - ."\n" - .'* Daily: The scheduled task is executed once every specified number of days.'."\n" - .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" - .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" - ."\n" - .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Daily', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'BreachThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n" - ."\n" - .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" - .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" - ."\n" - .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'], ], [ - 'name' => 'TaskEnabled', + 'name' => 'MetricValue', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The metric value specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp13o672yeautiil****'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'ExecuteScalingRule', + 'summary' => 'Executes a scaling rule. To adjust the number of Elastic Compute Service (ECS) instances or elastic container instances, you can manually execute a scaling rule or enable Auto Scaling to execute a scaling rule. You can call the ExecuteScalingRule operation to execute simple scaling rules or step scaling rules. Auto Scaling automatically executes target tracking scaling rules and predictive scaling rules on your behalf without requiring explicit execution calls.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ExitStandby' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125359', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ [ - 'name' => 'MinValue', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'], ], [ - 'name' => 'MaxValue', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'InstanceIds', '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 a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'description' => 'The IDs of the ECS instances. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], + 'required' => true, + 'maxItems' => 20, ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group whose number of instances must be modified when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, you must specify the minimum, maximum, or expected numbers of instances for a scaling group in the scheduled task. That is, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'Specifies whether to remove the instance from the Standby state in an asynchronous manner. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -21702,380 +13498,271 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], ], 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling', - 'errorMessage' => 'Request was denied due to request throttling.', + 'title' => 'ExitStandby', + 'summary' => 'Removes an instance from the Standby state. When a scale-in event is triggered in a scaling group, Auto Scaling does not remove Elastic Compute Service (ECS) instances or elastic container instances that are in the Standby state from the scaling group. If you want to restart the instances that are in the Standby state, you can call the ExitStandby operation to remove the instances from the Standby state and put them into the In Service state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyScheduledTask', - 'description' => '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 the minimum number, maximum number, or expected number of instances in the scheduled task.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', ], - 'DescribeScheduledTasks' => [ - 'summary' => 'Queries scheduled tasks. A scheduled task is a predefined task that triggers the automatic execution of a scaling rule at the specified point in time. It ensures an automatic scaling of computing resources to fulfill your business demands at a minimum cost. After you create a scheduled task, you can call the DescribeScheduledTasks operation to query the details of the task, such as the execution time point and the scaling group ID. You can also call this operation to query the total number of existing scheduled tasks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '125344', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scheduled task belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The type of the Auto Scaling resources. Set the value to `scalinggroup`. This means the tag key you want to query is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1bo5tca4m56nap****', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], - [ - 'name' => 'ScheduledActions', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The scaling rules of the scheduled tasks. Once the scheduled tasks are triggered, the scaling rules are executed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scaling rule of the scheduled task. Once the scheduled task is triggered, the scaling rule is executed.'."\n" - ."\n" - .'Set the value to the unique identifier of the scaling rule (ScalingRuleAri).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Keys' => [ + 'description' => 'Details of the tag keys.'."\n", + 'type' => 'array', + 'items' => ['description' => 'Details of the tag keys.'."\n", 'type' => 'string', 'example' => 'ESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ScheduledTaskIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scheduled tasks that you want to query.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the scheduled task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": [\\n \\"ESS\\"\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagKeys', + 'summary' => 'Queries the tag keys added to Auto Scaling resources. Querying tag keys facilitates easier classification, identification, and monitoring of your Auto Scaling resources, thereby enhancing the flexibility and convenience of your resource management processes.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'operationType' => 'read', + ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ScheduledTaskNames', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125324', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scheduled tasks that you want to query.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the scheduled task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~2679950~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TaskName', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'], ], [ - 'name' => 'RecurrenceType', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which scheduled task N is repeatedly executed. Valid values:'."\n" - ."\n" - .'* Daily: Scheduled task N is executed once every specified number of days.'."\n" - .'* Weekly: Scheduled task N is executed on each specified day of a week.'."\n" - .'* Monthly: Scheduled task N is executed on each specified day of a month.'."\n" - .'* Cron: Scheduled task N is executed based on the specified Cron expression.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Weekly', - ], + 'schema' => ['description' => 'The token that determines the start point of the next query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'ResourceIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of times scheduled task N is repeatedly executed.'."\n" - ."\n" - .'You can specify this parameter only if you set RecurrenceType to Weekly. Separate multiple values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => ' asg-bp17xb4x1vr29lgt****'], 'required' => false, - 'example' => '1,2,3', + 'maxItems' => 51, ], ], [ - 'name' => 'TaskEnabled', + 'name' => 'Tags', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether scheduled task N is enabled.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', + 'description' => 'Details of the tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag. The key is used to perform an exact match of Auto Scaling resources. The key must be 1 to 128 characters in length.'."\n" + ."\n" + .'`Tags` is used to perform an exact match of Auto Scaling resources to which the specified tags are added. Specify a tag in the key-value pair format.'."\n" + ."\n" + .'* If you specify only `Tags.Key`, all resources whose tags contain the specified tag key are returned.'."\n" + .'* If you specify only `Tags.Value`, the `MissingParameter.TagKey` error is reported.'."\n" + .'* If you specify multiple key-value pairs at the same time, only Auto Scaling resources that match all the tag keys and tag values are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => 'The value of the tag. The value is used to perform an exact match of Auto Scaling resources. The value can be up to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'true', + 'maxItems' => 21, ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response that is returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scheduled tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScheduledTasks' => [ - 'description' => 'The information collection of the scheduled tasks.'."\n", + 'NextToken' => ['description' => 'The token that determines the start point of the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****'], + 'TagResources' => [ + 'description' => 'An array that encompasses both the resource details and its tags, comprising elements like the resource ID, the resource type, the tag key, and the tag value.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the scheduled tasks.'."\n", + 'description' => 'Details of the resource and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", 'type' => 'object', 'properties' => [ - 'TaskEnabled' => [ - 'description' => 'Indicates whether the scheduled task is enabled.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RecurrenceValue' => [ - 'description' => 'The frequency of recurrence of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'RecurrenceType' => [ - 'description' => 'The recurring interval of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'Daily', - ], - 'MaxValue' => [ - 'description' => 'The maximum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ScheduledTaskName' => [ - 'description' => 'The name of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'scheduled****', - ], - 'RecurrenceEndTime' => [ - 'description' => 'The end time of the recurrence of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '2014-08-20T16:55Z', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of instances in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ScheduledTaskId' => [ - 'description' => 'The ID of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], - 'MinValue' => [ - 'description' => 'The minimum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1bo5tca4m56nap****', - ], - 'LaunchExpirationTime' => [ - 'description' => 'The time window during which the scheduled task can be retried. Unit: seconds. Valid values: 0 to 21600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '600', - ], - 'Description' => [ - 'description' => 'The description of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'Test scheduled task.', - ], - 'ScheduledAction' => [ - 'description' => 'The scaling rule of the scheduled task. A value is returned for this parameter only after you specify ScheduledActions.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - ], - 'LaunchTime' => [ - 'description' => 'The point in time at which the scheduled task is triggered.'."\n", - 'type' => 'string', - 'example' => '2014-08-18T10:52Z', - ], + 'TagValue' => ['description' => 'The tag value of the resource.'."\n", 'type' => 'string', 'example' => 'TestValue'], + 'ResourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'ALIYUN::ESS::SCALINGGROUP'], + 'ResourceId' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'asg-bp17xb4x1vr29lgt****'], + 'TagKey' => ['description' => 'The tag key of the resource.'."\n", 'type' => 'string', 'example' => 'TestKey'], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" + .'* false: The tags of the scaling group cannot be propagated to instances.'."\n", 'type' => 'boolean', 'example' => 'false'], ], ], ], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScheduledTasks', - 'description' => 'You can query scheduled tasks by scaling rule, task ID, or task name.'."\n", - ], - 'DeleteScheduledTask' => [ - 'summary' => 'Deletes scheduled tasks. For workloads with predictable patterns, you can create scheduled tasks to align with your business requirements and optimize resource utilization for cost savings. These tasks automatically ensure that sufficient computing resources are provisioned in anticipation of peak hours and efficiently release unused resources during off-peak hours, thereby streamlining operational efficiency and reducing expenses. If you no longer require a scheduled task, you can call the DeleteScheduledTask operation to delete it.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagResources', + 'summary' => 'Queries tags. You can call the ListTagResources operation to query tags that are added to Auto Scaling resources, thereby clarifying resource utilization and facilitating efficient resource management. This operation aids in the automation of resource categorization and permission management processes.', + 'description' => '* Specify at least one of the following request parameters: `ResourceIds` and `Tags`. `Tags.Key` and `Tags.Value` are used to specify the query objects.'."\n" + .'* If you provide both `ResourceIds` and `Tags` in your request, the response will exclusively include Auto Scaling resources that satisfy the criteria set by these parameters, ensuring targeted and precise information retrieval.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ListTagValues' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125331', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'RegionId', '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 region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup. This indicates that the tag is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ESS', 'title' => ''], ], ], 'responses' => [ @@ -22083,253 +13770,181 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'NextToken' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Values' => [ + 'description' => 'Details of the tag values.'."\n", + 'type' => 'array', + 'items' => ['description' => 'Details of the tag values.'."\n", 'type' => 'string', 'example' => 'Doc', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteScheduledTask', - ], - 'CreateAlarm' => [ - 'summary' => 'Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": [\\n \\"Doc\\"\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagValues', + 'summary' => 'Queries the tag keys associated with Auto Scaling resources to facilitate a deeper comprehension of those resources. By doing so, you can categorize and manage your Auto Scaling resources more efficiently.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'operationType' => 'read', + ], + 'ModifyAlarm' => [ + 'summary' => 'Modifies an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125363', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125348', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], '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 event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestAlarmTask', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test alarm task.', - ], + 'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'alarmtask****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling group ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], [ 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric name. The valid values of this parameter vary based on the metric type.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" - ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * ConcurrentConnections: the number of concurrent connections.'."\n" - .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" - .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" - .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" - .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" - .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadAverage: the average system load.'."\n" - .' * TcpConnection: the total number of TCP connections.'."\n" - .' * TcpConnection: the number of established TCP connections.'."\n" - .' * PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" - .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" - .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'MemoryUtilization', 'title' => ''], ], [ 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid Values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor.'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The metric type. Valid Values:'."\n" + ."\n" + .'* system: a system metric of CloudMonitor.'."\n" + .'* custom: a custom metric that is reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The statistical period of the metric data. Unit: seconds. Valid Values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - 'default' => '300', - ], + 'schema' => ['description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'Statistics', 'in' => 'query', - 'schema' => [ - 'description' => 'The statistical method of the metric data. Valid Values:'."\n" - ."\n" - .'* Average: calculates the average value of the metric data.'."\n" - .'* Minimum: calculates the minimum value of the metric data.'."\n" - .'* Maximum: calculates the maximum value of the metric data.'."\n" - ."\n" - .'Default value: Average.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - 'default' => 'Average', - ], + 'schema' => ['description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], ], [ 'name' => 'Threshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80.0', - ], + 'schema' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'ComparisonOperator', 'in' => 'query', - 'schema' => [ - 'description' => 'The operator that you want to use to compare the metric value and the threshold. Valid Values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" - .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" - .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" - .'* If the metric value is less than the metric threshold, set the value to <.'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - 'default' => '>=', - ], + 'schema' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" + .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" + .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" + .'* If the metric value is less than the threshold, set the value to `<`.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], ], [ 'name' => 'EvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before the scaling rule is executed.'."\n" - ."\n" - .'Default value: 3'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - 'default' => '3', - ], + 'schema' => ['description' => 'The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4055401', - ], + 'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], [ 'name' => 'Effective', 'in' => 'query', - 'schema' => [ - 'description' => 'The effective period of the event-triggered task. By default, the event-triggered task is in effect all the time.'."\n" - ."\n" - .'This parameter follows the cron expression format. The default format is `X X X X X ?`. In the format:'."\n" - ."\n" - .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" - .'* ?: No value is specified.'."\n" - ."\n" - .'> By default, this parameter value is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" - ."\n" - .'Sample values:'."\n" - ."\n" - .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task.'."\n" + ."\n" + .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" + ."\n" + .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + .'* ?: No value is specified.'."\n" + ."\n" + .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" + .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" + .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ 'name' => 'AlarmActions', @@ -22338,14 +13953,11 @@ 'schema' => [ 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', - ], + 'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ @@ -22356,56 +13968,48 @@ 'description' => 'The metric dimensions.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The metric dimensions.'."\n", + 'description' => 'The dimension of the metric.'."\n", 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" - ."\n" - .' * user_id: the ID of your Alibaba Cloud account.'."\n" - .' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" - .' * device: the NIC type.'."\n" - .' * state: the status of the TCP connection.'."\n" - .' * rulePool: the specified server group for the ALB qps metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" - ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" - ."\n" - .' * user_id: The system specifies the value.'."\n" - ."\n" - .' * scaling_group: The system specifies the value.'."\n" - ."\n" - .' * device:'."\n" - ."\n" - .' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" - .' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n" - ."\n" - .' * state:'."\n" - ."\n" - .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" - .' * ESTABLISHED indicates the number of TCP connections that are established.'."\n" - ."\n" - .' * rulePool: the ID of the ALB server group. Example: sgp-xxxxx.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], + 'DimensionKey' => ['description' => 'The key of dimension N that you want to associate with the metric. The valid values of Dimension.N.DimensionKey vary based on the value of MetricType.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" + .' * device: the NIC type.'."\n" + .' * state: the status of the TCP connection.'."\n" + .' * rulePool: the specified server group for the ALB qps metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, Dimension.N.DimensionValue has the following valid values:'."\n" + ."\n" + .' * user_id: The system specifies the value.'."\n" + ."\n" + .' * scaling_group: The system specifies the value.'."\n" + ."\n" + .' * device:'."\n" + ."\n" + .' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n" + ."\n" + .' * state:'."\n" + ."\n" + .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" + .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ @@ -22413,1180 +14017,1160 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the multi-metric alert rules.'."\n", + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" - ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * ConcurrentConnections: the number of concurrent connections.'."\n" - .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" - .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" - .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" - .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" - .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadAverage: the average system load.'."\n" - .' * TcpConnection: the total number of TCP connections.'."\n" - .' * TcpConnection: the number of established TCP connections.'."\n" - .' * PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" - .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" - .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that you want to use to compare the metric value and the threshold in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" - .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" - .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" - .'* If the metric value is less than the metric threshold, set the value to <.'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - ], - 'Period' => [ - 'description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '900', - ], - 'Statistics' => [ - 'description' => 'The method that you want to use to aggregate the metric data in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* Average: the average value.'."\n" - .'* Minimum: the minimum value'."\n" - .'* Maximum: the maximum value'."\n" - ."\n" - .'Default value: Average.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric value in the multi-metric alert rule. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '40.0', - ], + 'MetricName' => ['description' => 'The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" + .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" + .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" + .'* If the metric value is less than the threshold, set the value to `<`.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + 'Statistics' => ['description' => 'The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ExpressionsLogicOperator', 'in' => 'query', - 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.'."\n" - ."\n" - .'Default value: `&&`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '&&', - ], + 'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', '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****', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateAlarm', - 'description' => '* If you set MetricType to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" - ."\n" - .'* When you create an event-triggered task, you must specify MetricName, Dimensions.DimensionKey, and Dimensions.DimensionValue to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify user_id and scaling_group for an event-triggered task to aggregate monitoring data of all ECS instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" - ."\n" - .' * If you create an event-triggered task of the custom monitoring type, you can specify only custom metrics in the task.'."\n" - .' * If you create an event-triggered task of the system monitoring type, you can specify the system metrics described in [Event-triggered tasks of the system monitoring type](~~74854~~) in the task.'."\n" - ."\n" - .'> user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see `Dimensions.DimensionKey` and `Dimensions.DimensionValue` in the "Request parameters" section of this topic.'."\n", - ], - 'DescribeAlarms' => [ - 'summary' => 'Queries event-triggered tasks. You can call the DescribeAlarms operation to learn about the configurations of event-triggered tasks and keep updated on monitoring data changes. This helps you troubleshoot system resource issues at the earliest opportunity and ensures system stability and reliability.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyAlarm', + 'description' => '- 如果您创建自定义监控类型的报警任务(MetricType=custom),您需要先将自定义监控项指标上报到云监控。具体操作,请参见[自定义监控报警任务](~~74861~~)。'."\n" + .'- 创建报警任务时,您需要指定监控项(MetricName),并配合维度信息(Dimension.N.DimensionKey和Dimension.N.DimensionValue),来确定伸缩组中该监控项数据的聚合范围。例如,指定user_id和scaling_group来确定聚合该用户、该伸缩组下所有ECS实例或ECI实例的监控项数据。'."\n" + .' - 自定义监控报警任务(MetricType=custom)的监控项取决于您自有的监控指标。'."\n" + .' - 系统监控报警任务(MetricType=system)支持的监控项的更多信息,请参见[系统监控报警任务](~~74854~~)。'."\n" + ."\n\n" + .'> 维度信息中,user_id和scaling_group由系统自动填充,device、state需要您手动指定。更多信息,请参见参数`Dimension.N.DimensionKey`和`Dimension.N.DimensionValue`。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', + ], + 'ModifyAlertConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125355', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '208812', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessLTO4TI'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', '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 scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScaleStatuses', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group with which the event-triggered task is associated.'."\n", - 'type' => 'string', + 'description' => 'The status of the scaling activities that prompt text message or email notifications.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The status of the scaling activity that prompts text message or email notifications. Valid values:'."\n" + ."\n" + .'* ScaleSuccessful: The scaling activity is successful.'."\n" + .'* ScaleRejected: The scaling activity is rejected.'."\n" + .'* ScaleFailed: The scaling activity failed.'."\n" + ."\n" + .'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleSuccessful'], 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 10, ], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyAlertConfiguration', + 'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ModifyEciScalingConfiguration' => [ + 'summary' => 'Modifies a scaling configuration of the Elastic Container Instance type. When you call the ModifyEciScalingConfiguration operation, you can specify the ID, name, and instance properties of the scaling configuration whose information you want to modify. You can modify the instance restart policy, instance bidding policy, and elastic IP address (EIP) bandwidth.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125345', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], + ], + 'parameters' => [ [ - 'name' => 'State', + 'name' => 'ScalingConfigurationId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], ], [ - 'name' => 'IsEnable', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the event-triggered task. Valid values:'."\n" - ."\n" - .'* true: enables the event-triggered task.'."\n" - .'* false: disables the event-triggered task.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" + ."\n" + .'The name of a scaling configuration must be unique in the specified region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test-modify', 'title' => ''], ], [ - 'name' => 'MetricType', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n" - .'* hybrid: a metric of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - 'default' => 'system', - ], + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'desc', 'title' => ''], ], [ - 'name' => 'MetricName', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The name series of elastic container instances. Naming conventions:'."\n" + ."\n" + .'* The name must be 2 to 128 characters in length.'."\n" + .'* The name can contain only lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'nginx-test', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'RestartPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The instance restart policy. Valid values:'."\n" + ."\n" + .'* Always: always restarts elastic container instances.'."\n" + .'* Never: never restarts elastic container instances.'."\n" + .'* OnFailure: restarts elastic container instances upon failures.'."\n" + ."\n" + .'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'AlarmList' => [ - 'description' => 'The event-triggered tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The event-triggered task.'."\n", - 'type' => 'object', - 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], - 'MetricName' => [ - 'description' => 'The metric name. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the CPU utilization of an Elastic Compute Service (ECS) instance. Unit: %.'."\n" - .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" - .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" - .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" - .'* VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" - .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" - .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" - .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" - .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" - .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" - .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" - .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" - .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" - .'* MemoryUtilization: the memory usage. Unit: %.'."\n" - .'* LoadAverage: the average system load.'."\n" - .'* TcpConnection: the total number of TCP connections.'."\n" - .'* TcpConnection: the number of established TCP connections.'."\n" - .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" - .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" - .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" - .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" - .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" - .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" - .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is executed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'State' => [ - 'description' => 'The status of the event-triggered task. Valid values:'."\n" - ."\n" - .'* ALARM: The alert condition is met and an alert is triggered.'."\n" - .'* OK: The alert condition is not met.'."\n" - .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", - 'type' => 'string', - 'example' => 'ALARM', - ], - 'Period' => [ - 'description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> You can set the value of this parameter to 15 Seconds only for scaling groups of the ECS type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the event-triggered task is associated.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the metric threshold.'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" - .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" - .'* Valid value if the metric value is greater than the threshold: >.'."\n" - .'* Valid value if the metric value is less than the threshold: <.'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'Effective' => [ - 'description' => 'The effective period of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'Test', - ], - 'Description' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'Test alarm task.', - ], - 'MetricType' => [ - 'description' => 'The type of the metric. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Name' => [ - 'description' => 'The name of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'TestAlarmTask', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '80.0', - ], - 'Enable' => [ - 'description' => 'Indicates whether the event-triggered task feature is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Statistics' => [ - 'description' => 'The method that is used to aggregate the metric data. Valid values:'."\n" - ."\n" - .'* Average: the average value'."\n" - .'* Minimum: the minimum value'."\n" - .'* Maximum: the maximum value'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Dimensions' => [ - 'description' => 'The metric dimensions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the dimensions.'."\n", - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric. Valid values:'."\n" - ."\n" - .'* user_id: the ID of your Alibaba Cloud account.'."\n" - .'* scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" - .'* device: the NIC type.'."\n" - .'* state: the status of the TCP connection.'."\n", - 'type' => 'string', - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The value of DimensionValue varies based on the value of DimensionKey.'."\n" - ."\n" - .'* If you set DimensionKey to `user_id`, the system specifies the value of DimensionValue.'."\n" - ."\n" - .'* If you set DimensionKey to `scaling_group`, the system specifies the value of DimensionValue.'."\n" - ."\n" - .'* If you set DimensionKey to `device`, you can set DimensionValue to eth0 or eth1.'."\n" - ."\n" - .' * For instances of the classic network type, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" - .' * For instances of the classic network type, eth1 indicates the public NIC.'."\n" - ."\n" - .'* If you set DimensionKey to `state`, you can set DimensionValue to TCP_TOTAL or ESTABLISHED.'."\n" - ."\n" - .' * TCP_TOTAL indicates the total number of TCP connections.'."\n" - .' * ESTABLISHED indicates the number of TCP connections that are established.'."\n", - 'type' => 'string', - 'example' => 'eth0', - ], - ], - ], - ], - 'AlarmActions' => [ - 'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The unique identifier of the scaling rule that is associated with the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', - ], - ], - 'Expressions' => [ - 'description' => 'The alert conditions of the multi-metric alert rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The name of the metric that is specified in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" - .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" - .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" - .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" - .'* VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" - .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" - .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" - .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" - .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" - .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" - .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" - .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" - .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" - .'* MemoryUtilization: the memory usage. Unit: %.'."\n" - .'* LoadAverage: the average system load.'."\n" - .'* TcpConnection: the total number of TCP connections.'."\n" - .'* TcpConnection: the number of established TCP connections.'."\n" - .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" - .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" - .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" - .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" - .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" - .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" - .'* LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold.'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" - .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" - .'* Valid value if the metric value is greater than the threshold: >.'."\n" - .'* Valid value if the metric value is less than the threshold: <.'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'Period' => [ - 'description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set Period to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '900', - ], - 'Statistics' => [ - 'description' => 'The method that is used to aggregate statistics about the metrics in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* Average: the average value'."\n" - .'* Minimum: the minimum value'."\n" - .'* Maximum: the maximum value'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '40.0', - ], - ], - ], - ], - 'ExpressionsLogicOperator' => [ - 'description' => 'The relationship between the trigger conditions that are specified in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet their trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* `||`: An alert is triggered only if one of the metrics in the multi-metric alert rule meets its trigger condition.'."\n", - 'type' => 'string', - 'example' => '&&', - ], - 'HybridMonitorNamespace' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" - ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', - 'example' => 'aliyun-test', - ], - 'HybridMetrics' => [ - 'description' => 'The Hybrid Cloud Monitoring metrics.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'The reference ID of the metric in the metric expression.'."\n", - 'type' => 'string', - 'example' => 'a', - ], - 'Expression' => [ - 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" - ."\n" - .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", - 'type' => 'string', - 'example' => '(a+b)/2', - ], - 'MetricName' => [ - 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", - 'type' => 'string', - 'example' => 'AliyunSmq_NumberOfMessagesVisible', - ], - 'Statistic' => [ - 'description' => 'The statistical method of the metric value. Valid values:'."\n" - ."\n" - .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" - .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" - .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Dimensions' => [ - 'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'example' => 'queue', - ], - 'DimensionValue' => [ - 'description' => 'The key of the metric dimension.'."\n", - 'type' => 'string', - 'example' => 'testQueue', - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', - ], - ], - 'PromQL' => [ - 'description' => 'The PromQL statement of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'example' => '(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)', - ], - ], - ], - ], - ], - ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ],\\n \\"AlarmActions\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ],\\n \\"Expressions\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ],\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ],\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeAlarms', - ], - 'ModifyAlarm' => [ - 'summary' => 'Modifies an event-triggered task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125348', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DnsPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" + ."\n" + .'* None: uses the DNS that is specified by DnsConfig.'."\n" + .'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'EnableSls', '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' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'alarmtask****', - ], + 'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test alarm task.', - ], + 'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ - 'name' => 'MetricName', + 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" - .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .' * LoadAverage: the average system load of an agent.'."\n" - .' * TcpConnection: the total number of TCP connections of an agent.'."\n" - .' * TcpConnection: the number of established TCP connections of an agent.'."\n" - .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MemoryUtilization', - ], + 'schema' => ['description' => 'The buffer period during which the program handles operations before the program is stopped. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'MetricType', + 'name' => 'AutoMatchImageCache', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid Values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor.'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'Specifies whether to automatically match image caches.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Period', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Statistics', + 'name' => 'ActiveDeadlineSeconds', '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', - ], + 'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'Threshold', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotPriceLimit', 'title' => ''], ], [ - 'name' => 'ComparisonOperator', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the threshold, set the value to `<`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - ], + 'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" + ."\n" + .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ - 'name' => 'EvaluationCount', + 'name' => 'AutoCreateEip', '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' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'EipBandwidth', '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 EIP bandwidth.'."\n" + ."\n" + .'Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], ], [ - 'name' => 'Effective', + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'IngressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'EgressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsThreadsPerCore', 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of the PL1 type is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The load balancing weight of each backend server. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The effective period of the event-triggered task.'."\n" - ."\n" - .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" - ."\n" - .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" - .'* ?: No value is specified.'."\n" - ."\n" - .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", - 'type' => 'string', + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmActions', + 'name' => 'ImageRegistryCredentials', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'description' => 'The image repositories.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", - 'type' => 'string', + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], + ], 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 5, + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Dimensions', + 'name' => 'Containers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The metric dimensions.'."\n", + 'description' => 'The containers.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The dimension of the metric.'."\n", + 'description' => 'The container.'."\n", 'type' => 'object', 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of dimension N that you want to associate with the metric. The valid values of Dimension.N.DimensionKey vary based on the value of MetricType.'."\n" - ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur for a failed readiness probe to be considered successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .' * user_id: the ID of your Alibaba Cloud account.'."\n" - .' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" - .' * device: the NIC type.'."\n" - .' * state: the status of the TCP connection.'."\n" - .' * rulePool: the specified server group for the ALB qps metric.'."\n", - 'type' => 'string', + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''], 'required' => false, - 'example' => 'device', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" - ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If you set MetricType to system, Dimension.N.DimensionValue has the following valid values:'."\n" - ."\n" - .' * user_id: The system specifies the value.'."\n" - ."\n" - .' * scaling_group: The system specifies the value.'."\n" - ."\n" - .' * device:'."\n" - ."\n" - .' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" - .' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n" - ."\n" - .' * state:'."\n" - ."\n" - .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" - .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", - 'type' => 'string', + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a readiness probe. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive liveness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Ports' => [ + 'description' => 'The ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system is read-only. Set the value to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''], + 'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable Interaction. Default value: false.'."\n" + ."\n" + .'If the command is a /bin/bash command, set this parameter to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a liveness probe. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Args' => [ + 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size per container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMounts' => [ + 'description' => 'The volume mounts of the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory within the container onto which you want to mount the volume.'."\n" + ."\n" + .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data '."\n", 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'eth0', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], + 'LivenessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a liveness probe to be considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a readiness probe to be considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Image pulling is performed each time instances are created.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions when StdinOnce is set to true.'."\n" + ."\n" + .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25 '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur to consider a failed liveness probe successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive readiness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you can run in the container when you use the CLI to perform a liveness probe.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run in the container when you use the CLI to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''], + 'LivenessProbe.Exec.Commands' => [ + 'description' => 'The command executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the postStart callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that you can run within the container to configure the postStart callback function.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run within the container to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the preStop callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that you can run within the container to configure the preStop callback function.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run within the container to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 5, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Expressions', + 'name' => 'Volumes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'description' => 'The volumes.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'description' => 'The volume.'."\n", 'type' => 'object', 'properties' => [ - 'MetricName' => [ - 'description' => 'The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" - .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .' * GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .' * LoadAverage: the average system load of an agent.'."\n" - .' * TcpConnection: the total number of TCP connections of an agent.'."\n" - .' * TcpConnection: the number of established TCP connections of an agent.'."\n" - .' * PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.'."\n" - .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', + 'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'The volume size. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => 'We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/name '."\n", 'title' => ''], + 'FlexVolume.Options' => ['description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-n****.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1'."\n", 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the emptyDir volume stores data in the file system of a node. A value of memory specifies that the emptyDir volume stores data in the memory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory '."\n", 'title' => ''], + 'ConfigFileVolumeConfigFileToPath' => [ + 'description' => 'The paths to the configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path to the configuration file.'."\n", + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative path to the configuration file.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'CpuUtilization', + 'maxItems' => 90, + 'title' => '', + 'example' => '', ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the threshold, set the value to `<`.'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'InitContainers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '>=', + 'maxItems' => 301, + 'title' => '', + '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" + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .'> If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''], 'required' => false, - 'example' => '300', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - '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', + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerPorts' => [ + 'description' => 'The ports of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'Average', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - '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', + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory within the init container onto which you want to mount the volume.'."\n" + ."\n" + .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/'."\n", 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false '."\n", 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '40.0', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Image pulling is performed each time instances are created.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you can run to start the init container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run to start the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The container startup arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user who runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ExpressionsLogicOperator', + 'name' => 'DnsConfigNameServers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" - ."\n" - .'Default value: `&&`.', - 'type' => 'string', + 'description' => 'The IP addresses of DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.** '."\n", 'title' => ''], 'required' => false, - 'example' => '&&', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'DnsConfigSearchs', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', + 'description' => 'The search domains of DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DnsConfigOptions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name '."\n", 'title' => ''], ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HostAliases', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The hosts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The host.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX '."\n", 'title' => ''], + 'Hostnames' => [ + 'description' => 'The names of the hosts that you want to add.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the host that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '[\'hehe.com\', \'haha.com\'] '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', - 'title' => 'ModifyAlarm', - 'description' => '* 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 the 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, DimensionKey, and 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" - ."\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" - ."\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 `DimensionKey` and `DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", - ], - 'EnableAlarm' => [ - 'summary' => 'Enables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you want to reuse an event-triggered task that is in the Disabled state, you can call the EnableAlarm operation to enable it.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SecurityContextSysCtls', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The security contexts in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The variable name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 11, + 'title' => '', + 'example' => '', + ], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125397', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'NtpServers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The endpoints of Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AcrRegistryInfos', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test '."\n", 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'CostOptimization', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance type). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'ContainersUpdateType', + 'in' => 'query', + 'schema' => ['description' => 'The update mode of containers. Valid values:'."\n" + ."\n" + .'* RenewUpdate: full update mode. This value takes effect based on the value of Containers in an update request. This value indicates that the previous setting of Containers is overwritten.'."\n" + .'* IncrementalUpdate: incremental update mode. Container matching is performed based on the Container.name value. Only the parameters that are included in the request parameters are updated.'."\n" + ."\n" + .'Default value: RenewUpdate.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'RenewUpdate'], + ], + [ + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'description' => 'The ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => ['description' => 'The bucket in which data caches are stored.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'DataCachePL', + 'in' => 'query', + 'schema' => ['description' => 'The performance level (PL) of the cloud disk in which data caches are stored. We recommend that you use Enterprise SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + ], + [ + 'name' => 'DataCacheProvisionedIops', + 'in' => 'query', + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk in which data caches are stored. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800+50 x *Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], + ], + [ + 'name' => 'DataCacheBurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the Performance Burst feature for the ESSD AutoPL disk in which data caches are stored. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'GpuDriverVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n" + ."\n" + .'* tesla=470.82.01 (default)'."\n" + .'* tesla=525.85.12'."\n" + ."\n" + .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to override existing data. Valid Values:'."\n" + ."\n" + .'true false'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]', - 'title' => 'EnableAlarm', - ], - 'DisableAlarm' => [ - 'summary' => 'Disables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you currently do not need an event-triggered task, you can call the DisableAlarm operation to disable it.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyEciScalingConfiguration', + 'description' => '- 如果修改伸缩配置的名称,请注意同一伸缩组下不能存在名称相同的伸缩配置。'."\n" + ."\n" + .'- 可以调用[DescribeEciScalingConfigurations](~~459374~~)查询并验证修改结果。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + ], + 'ModifyInstanceAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23594,30 +15178,45 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125352', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'abilityTreeCode' => '201544', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECS instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + [ + 'name' => 'Entrusted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to allow the scaling group to manage the lifecycles of the manually added ECS instances. Valid values:'."\n" + ."\n" + .'* true: allows the scaling group to manage the lifecycles of the manually added ECS instances. The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" + .'* false: does not allow the scaling group to manage the lifecycles of the manually added ECS instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" + ."\n" + .'> You can specify this parameter only for ECS instances that are manually added to the scaling group.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true'], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'description' => 'The instance IDs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'], + 'required' => false, + 'maxItems' => 20, ], ], ], @@ -23626,62 +15225,126 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]', - 'title' => 'DisableAlarm', - 'description' => 'Before you disable an event-triggered task, make sure that the task is in the `Normal`, `Alert`, or `Insufficient Data` state.'."\n", - ], - 'DeleteAlarm' => [ - 'summary' => 'Deletes an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you no longer need an event-triggered task, you can call the DeleteAlarm operation to delete it.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyInstanceAttribute', + 'summary' => 'Modifies the information of an Elastic Compute Service (ECS) instance. When you call the ModifyInstanceAttribute operation, you can specify attributes such as the instance ID, scaling group ID, and region ID to modify the attributes of an ECS instance in a scaling group. You can modify only the hosting attributes of instances that are manually added to scaling groups.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125349', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125362', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the lifecycle hook that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp1fxuqyi98w0aib****'], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the lifecycle hook that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test_SCALE_IN'], + ], + [ + 'name' => 'DefaultResult', + 'in' => 'query', + 'schema' => ['description' => 'The action that you want Auto Scaling to perform after the lifecycle hook ends. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to scaling requests.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" + ."\n" + .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for the lifecycle hook that you want to modify, Auto Scaling immediately performs the action after the lifecycle hook that you want to modify ends. As a result, other lifecycle hooks end ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks end.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTINUE'], + ], + [ + 'name' => 'HeartbeatTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The period of time before the lifecycle hook ends. Auto Scaling performs the specified action after the lifecycle hook ends. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'You can call the RecordLifecycleActionHeartbeat operation to prolong the length of a lifecycle hook. You can also call the CompleteLifecycleAction operation to end a lifecycle hook ahead of schedule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'], + ], + [ + 'name' => 'LifecycleTransition', + 'in' => 'query', + 'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'* SCALE_OUT'."\n" + .'* SCALE_IN'."\n", 'type' => 'string', 'required' => false, 'example' => 'SCALE_IN'], + ], + [ + 'name' => 'NotificationMetadata', + 'in' => 'query', + 'schema' => ['description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'Auto Scaling sends the value specified for the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The NotificationMetadata parameter takes effect only after you specify the NotificationArn parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test'], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" + ."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****'], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'LifecycleHookStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The status into which you want to put the lifecycle hook. Valid values:'."\n" + ."\n" + .'* Active'."\n" + .'* InActive'."\n" + ."\n" + .'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n" + ."\n" + .'> By default, a lifecycle hook is in the Active state after you create it.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active'], ], ], 'responses' => [ @@ -23689,115 +15352,115 @@ '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****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', - 'title' => 'DeleteAlarm', - ], - 'DescribeInstanceRefreshes' => [ - 'summary' => 'Queries instance refresh tasks. If you want to view the basic information and execution progress of an instance refresh task, you can call the DescribeInstanceRefreshes operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'title' => 'ModifyLifecycleHook', + 'summary' => 'Modifies a lifecycle hook. If an existing lifecycle hook does not meet your business requirements anymore, you can call the ModifyLifecycleHook operation to modify the information such as the scaling event, timeout period, and default action of the lifecycle hook. Before you modify a lifecycle hook, you can locate the lifecycle hook by its ID, name, or scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyNotificationConfiguration' => [ + 'summary' => 'Modifies event notification rules. Event notification rules support automatic sending of notifications to CloudMonitor, Message Service (MNS) topics, or MNS queues when a specified type of events occur. This helps you learn about the dynamics of your scaling group at the earliest opportunity and further automate resource management. If an existing event notification rule does not meet your business requirements, you can call the ModifyNotificationConfiguration operation to modify the event notification rule, without the need to create a new rule. Take not that you cannot modify the notification method of an event notification rule by calling this operation.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '234886', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], + 'abilityTreeCode' => '125333', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the instance refresh task belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify a Simple Message Queue (SMQ) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'NotificationTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + 'description' => 'The event types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'* AUTOSCALING:SCALE_OUT_SUCCESS: a successful scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: a successful scale-in event'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: a failed scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: a failed scale-in event'."\n" + .'* AUTOSCALING:SCALE_REJECT: a rejected scaling request'."\n" + .'* AUTOSCALING:SCALE_OUT_START: a started scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_START: a started scale-in event'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: an expiring scheduled task'."\n" + .'* SCALING_GROUP_DIAGNOSE: a scaling group diagnosis'."\n" + .'* AUTOSCALING:SCALE_OUT_WARN: a partially successful scale-out event'."\n" + .'* AUTOSCALG:SCALE_IN_WARN: a partially successful scale-in event'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'required' => true, + 'maxItems' => 12, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n" - ."\n" - .'> When you call this operation, you must specify one of the following parameters: ScalingGroupId and InstanceRefreshTaskIds. You cannot specify both of them. If you specify neither of them, an error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskIds', + 'name' => 'TimeZone', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the instance refresh tasks that you want to query.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance refresh task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ir-adfa12312*****', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => ['description' => 'The codec of the notification message content. Valid values:'."\n" + ."\n" + .'- PlainText: No encoding is applied. The content is transmitted as plaintext.'."\n" + .'- Base64: Base64 encoding is applied.'."\n" + ."\n" + .'Default Value: Base64. '."\n" + .'> This parameter can be set only for MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ @@ -23805,263 +15468,35 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f****', - ], - 'MaxResults' => [ - 'description' => 'The maximum number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of instance refresh tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'InstanceRefreshTasks' => [ - 'description' => 'The instance refresh tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance refresh task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp16pbfcr8j9*****', - ], - 'InstanceRefreshTaskId' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => 'ir-1adfa123****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'EndTime' => [ - 'description' => 'The end time of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => '2024-08-22T02:09:00Z', - ], - 'StartTime' => [ - 'description' => 'The start time of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => '2024-08-22T01:09:00Z', - ], - 'Status' => [ - 'description' => 'The status of the instance refresh task. Valid values:'."\n" - ."\n" - .'* Pending: The instance refresh task is created and is waiting to be scheduled.'."\n" - .'* InProgress: The instance refresh task is being executed.'."\n" - .'* Paused: The instance refresh task is suspended.'."\n" - .'* Failed: The instance refresh task failed to be executed.'."\n" - .'* Successful: The instance refresh task is successful.'."\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 fails to be rolled back.'."\n", - 'type' => 'string', - 'example' => 'InProgress', - ], - 'Detail' => [ - 'description' => 'The reason why the instance refresh task failed to be executed.'."\n", - 'type' => 'string', - 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', - ], - 'MinHealthyPercentage' => [ - 'description' => 'The ratio of the number of instances that provide services to the total number of instances in the scaling group during instance refresh.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'MaxHealthyPercentage' => [ - 'description' => 'The ratio by which the number of instances in the scaling group can exceed the upper limit for the number of instances in the scaling group during instance refresh.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'DesiredConfiguration' => [ - 'description' => 'The desired configurations of the instance refresh task.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => 'The ID of the image file that provides the image resource for Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'example' => 'm-uf6g5noisr****', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-wz91ibkhfor****', - ], - 'LaunchTemplateId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'lt-2ze5x4mp*****', - ], - 'LaunchTemplateVersion' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Latest', - ], - 'LaunchTemplateOverrides' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.sn1ne.large', - ], - ], - ], - ], - 'Containers' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'name', - ], - 'Image' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'Commands' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'Args' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '100', - ], - ], - 'EnvironmentVars' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => '', - 'type' => 'string', - 'example' => '/usr/local/bin', - ], - 'FieldRefFieldPath' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'fieldPath', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'FinishedUpdateCapacity' => [ - 'description' => 'The refreshed number of instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalNeedUpdateCapacity' => [ - 'description' => 'The total number of instances whose configurations are refreshed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'SkipMatching' => [ - 'description' => 'Indicates whether instances that match the desired scaling configuration are skipped.'."\n" - ."\n" - .'> The system determines the match based on the ID of the desired scaling configuration rather than individual configuration items.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: Instances that match the desired scaling configuration are skipped. When you initiate an instance refresh task, the system checks the configurations of all instances. The refresh operation is skipped for instances created based on the desired scaling configuration.'."\n" - .'* false: Instances that match the desired scaling configuration are not skipped. When an instance refresh task is initiated, all instances in the scaling group at the time of initiation are refreshed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CheckpointPauseTime' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'Checkpoints' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Percentage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeInstanceRefreshes', - ], - 'StartInstanceRefresh' => [ - 'summary' => 'Starts an instance refresh task. If you want to apply a new scaling configuration in a scaling group or update the image specified in a scaling configuration, you can call the StartInstanceRefresh operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyNotificationConfiguration', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingConfiguration' => [ + 'summary' => 'Modifies an ECS-type scaling configuration (the ECS instance template for scale-out) by invoking the ModifyScalingConfiguration operation if the current scaling configuration does not meet your business requirements.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24072,1225 +15507,1971 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '234862', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - 'FEATUREess8Q01K5', - ], + 'abilityTreeCode' => '125383', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingConfigurationId', '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 configuration that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'IoOptimized', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + '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' => 'RegionId', + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance for which the market price at the time of purchase is automatically used as the bid price.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'ScalingConfigurationName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'The name must be unique within a scaling group in the same region. If you do not specify this parameter, the ID of the scaling configuration is used by default.', 'type' => 'string', 'required' => false, 'example' => 'test-modify', 'title' => ''], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ECS instance that is created by automatic creation using the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'inst****', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname of the Elastic Computing Service server. A period (.) or a hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type: '."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) or consist entirely of digits. '."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'hos****', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image file used to create instances by automatic creation.'."\n" + ."\n" + .'> If the image previously used in the scaling configuration includes both a system cloud disk and data cloud disks, the data cloud disk information is purged after you change the image.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. Image names must be unique within a region. If you set ImageId, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', 'title' => ''], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value. '."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, a default value is used. If the instance type belongs to Generation I instance families and the instance is not an I/O optimization instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- Basic cloud disk: 20 to 500.'."\n" + .'- ESSD:'."\n" + .' - PL0: 1 to 2048.'."\n" + .' - PL1: 20 to 2048.'."\n" + .' - PL2: 461 to 2048.'."\n" + .' - PL3: 1261 to 2048.'."\n" + .'- ESSD AutoPL: 1 to 2048.'."\n" + .'- Other cloud disk types: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to max{1, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with http:// or https://. Default value: empty.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk type is ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The weight of SLB backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n" + .' '."\n" + .'- For Windows instances, this parameter is ignored and is empty by default. '."\n" + .'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPair_Name', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the ListRoles operation to query available RAM roles. For more information about how to create a RAM role, see the CreateRole operation.', 'type' => 'string', 'required' => false, 'example' => 'RamRoleTest', 'title' => ''], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, ensure that a password is configured in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to Key and Value: '."\n" + .' '."\n" + .'- Key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Key cannot be an empty string. '."\n" + .'- Value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp13v7bjnj9gis****', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can communicate with each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-F876F****', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to override existing data. Valid values:'."\n" + .'- true: overrides existing data.'."\n" + .'- false: does not override existing data.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd****', 'title' => ''], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], + ], + [ + 'name' => 'InstanceDescription', 'in' => 'query', + 'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => ['description' => 'Modifies the running mode of a burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you have set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit parameter settings in the request are automatically ignored when you specify DedicatedHostId.'."\n" + ."\n" + .'You can invoke the DescribeDedicatedHosts API operation to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance is associated with a dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance is deployed to another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated-host instance.'."\n" + ."\n" + .'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'SchedulerOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => ['description' => 'The private pool option for instance startup. A private pool is generated after an elasticity assurance or capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the public pool is used. You do not need to set PrivatePoolOptions.Id.'."\n" + ."\n" + .'- Target: specified mode. The instance is started by using the capacity of a specified private pool. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID. PrivatePoolOptions.Id is required.'."\n" + ."\n" + .'- None: no private pool is used. The instance does not use private pool capacity.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the private pool. The ID of an elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n" + ."\n" + .'- 1: After a spot instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + .'- 0: After a spot instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + ."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. Set the protection period based on the expected task execution duration.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SpotInterruptionBehavior', + 'in' => 'query', + 'schema' => ['description' => 'The interruption pattern of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], + ], + [ + 'name' => 'DataDisks', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk type is ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the disk.'."\n" + .'- false: does not encrypt the disk.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If you specify this parameter, DataDisk.Size is ignored. The actual size of the created disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-snapshot**** '."\n", 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the data cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to the size of the snapshot specified by SnapshotId.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the system allocates a mount point by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdd', 'title' => ''], + 'DiskName' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData '."\n", 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'This parameter cannot be specified together with `DataDisk.Categories`. If neither this parameter nor `DataDisk.Categories` is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + ."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether the data cloud disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- true: releases the disk when the instance is released.'."\n" + .'- false: retains the disk when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisk.Category is set to cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto). Otherwise, an error is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL disks](~~368372~~).</props>', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MinHealthyPercentage', + 'name' => 'SpotPriceLimits', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ratio of instances that are in the In Service state to all instances in the scaling group during instance refresh. Valid values: 0 to 100. Default value: 80.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The information about spot instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about spot instance types.', + 'type' => 'object', + 'properties' => [ + 'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125 '."\n", 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '80', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MaxHealthyPercentage', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ratio of instances that can exceed the upper limit of the scaling group capacity to all instances in the scaling group during instance refresh. Valid values: 100 to 200. Default value: 120.'."\n" + 'description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n" + ."\n" + .'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.', + 'type' => 'array', + 'items' => ['description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n" ."\n" - .'> If you set MinHealthyPercentage and MaxHealthyPercentage to 100, Auto Scaling refreshes the configurations of one instance each time the instance refresh task starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => '100', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DesiredConfiguration', + 'name' => 'InstanceTypeOverrides', 'in' => 'query', - 'style' => 'flat', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The desired configurations of the instance refresh task.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers cannot be set at the same time. If you do not specify this parameter, the scaling group is refreshed based on the configurations that are in effect.'."\n" - ."\n" - .'* After the instance refresh task is complete, the scaling group uses the scaling configuration specified by this parameter.'."\n", - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => 'The image ID.'."\n" + 'description' => 'The information about specified instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about specified instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, specify both this parameter and InstanceTypeOverride.WeightedCapacity.'."\n" ."\n" - .'> '."\n" + .'This parameter specifies the instance type. You can specify multiple instance types and use the InstanceTypeOverride.WeightedCapacity parameter to assign custom weights to each type.'."\n" ."\n" - .'* After the instance refresh task is complete, the active scaling configuration uses the image specified by this parameter.'."\n" + .'> You cannot specify this parameter together with instanceTypes.'."\n" ."\n" - .'* If the instance configuration source of the scaling group is a launch template, you cannot specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'm-2ze8cqacj7opnf***', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-2zed7lqn4ts4****', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template that you want to enable in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-2ze2qli30u***', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version number of the launch template. Valid value:'."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'To scale the scaling group based on instance type capacity, specify this parameter after specifying LaunchTemplateOverride.InstanceType.'."\n" ."\n" - .'* A fixed template version number.'."\n" - .'* Default: the default version of the template.'."\n" - .'* Latest: the latest version of the template.'."\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" - .'> If you set the version to Default or Latest, the instance refresh task cannot be rolled back.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '8', - ], - 'LaunchTemplateOverrides' => [ - 'description' => 'The information about the instance types that are extended in the launch template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the instance types that are extended in the launch template.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" - ."\n" - .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.2xlarge', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'Containers' => [ - 'description' => 'The containers in the elastic container instance.'."\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" - .'> '."\n" + .'Example:'."\n" ."\n" - .'* This parameter supports only scaling groups of the ECI type.'."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" ."\n" - .'* Only the containers in the scaling configuration list that are the same as those in the `Container.Name` are refreshed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The containers in the elastic container instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The custom name of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The image in the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'Commands' => [ - 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup command. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - ], - 'Args' => [ - 'description' => 'The argument that corresponds to the startup command of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The startup argument of the container. You can specify up to 10 arguments.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - ], - 'EnvironmentVars' => [ - 'description' => 'The environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variable.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. It can be 1 to 128 characters in length. Format requirement:\\[0-9a-zA-Z], and underscores, cannot start with a number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 bits in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin ', - ], - 'FieldRefFieldPath' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fieldPath', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, + .'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During a scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SkipMatching', + 'name' => 'SecurityGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to skip instances that match the desired scaling configuration.'."\n" - ."\n" - .'> The system determines the match based on the ID of the desired scaling configuration rather than individual configuration items.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: skips instances that match the desired scaling configuration. When you initiate an instance refresh task, the system checks the configurations of all instances. The refresh operation is skipped for instances created based on the desired scaling configuration.'."\n" - .'* false: does not skip instances that match the desired scaling configuration. When an instance refresh task is initiated, all instances in the scaling group at the time of initiation are refreshed.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + 'description' => 'The IDs of the security groups.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the security groups.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs**** '."\n", 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Checkpoints', + 'name' => 'InstancePatternInfos', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Refresh Task Checkpoint: specifies that the task is automatically suspended for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during instance refresh.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'array', 'items' => [ - 'description' => 'Refresh Task Checkpoint: specifies that the task is automatically suspended for `CheckpointPauseTime` minutes when the proportion of new instances reaches the specified value during instance refresh.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'object', 'properties' => [ - 'Percentage' => [ - 'description' => 'The percentage of new instances in the scaling group to the total number of instances. When this percentage is reached, the task is automatically suspended. Valid values: 1 to 100 (%).'."\n" + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~).'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfo parameter applies only to scaling groups that use the VPC network type.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.Cores and InstancePatternInfo.Memory.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling selects the lowest-priced instance type from those that match the InstancePatternInfo parameter values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'Architectures' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" ."\n" - .'> Requires a small to large setting, and the last progress percentage needs to be 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => '20', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU type.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The categorization of the instance type. Valid values:'."\n" + .'- General-purpose: general purpose.'."\n" + .'- Compute-optimized: compute optimized.'."\n" + .'- Memory-optimized: memory optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU compute optimized.'."\n" + .'- Visual Compute-optimized: visual compute optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA compute optimized.'."\n" + .'- Compute-optimized with NPU: NPU compute optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', + 'type' => 'array', + 'items' => ['description' => 'The categorization of the instance type. Valid values:'."\n" + .'- General-purpose: general purpose.'."\n" + .'- Compute-optimized: compute optimized.'."\n" + .'- Memory-optimized: memory optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU compute optimized.'."\n" + .'- Visual Compute-optimized: visual compute optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA compute optimized.'."\n" + .'- Compute-optimized with NPU: NPU compute optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n" + ."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses per elastic network interface (ENI) of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses per elastic network interface (ENI) of the instance.'."\n" + .'[_single.params.InstancePatternInfos.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CheckpointPauseTime', + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The duration of the pause when the refresh task checkpoint is entered.'."\n" + 'description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `SystemDisk.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" ."\n" - .'* Unit: minutes'."\n" - .'* Valid values: 1 to 2880.'."\n" - .'* Default: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> You cannot specify this parameter together with `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '10', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'InstanceRefreshTaskId' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => 'ir-a12ds234fasd*****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" + ."\n" + .'`()~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/'."\n" + ."\n" + .'For Windows instances, the password cannot start with a forward slash (/).'."\n" + ."\n" + .'> If you specify Password, use HTTPS to send the request to prevent password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', - 'title' => 'StartInstanceRefresh', - 'description' => '* Only one instance refresh task can be executed at a time in a scaling group.'."\n" - .'* You can start instance refresh tasks for Elastic Compute Service (ECS) instances in scaling groups that use the **priority policy** as the scaling policy. Scaling groups whose capacity is measured based on the **number of vCPUs** and scaling groups whose instance reclaim mode is **Economical Mode** or **Forcibly Recycle** do not support the StartInstanceRefresh operation.'."\n" - .'* When you start an instance refresh task, scaling events can be completed as expected. Take note that instances that are scaled out use the configurations specified in the instance refresh task.'."\n" - .'* The StartInstanceRefresh operation does not take effect on instances that are manually added or instances that are in the Standby and Protected states.'."\n", - ], - 'CancelInstanceRefresh' => [ - 'summary' => 'Cancels an instance refresh task. Take note that instances whose configurations were already updated by running an instance refresh task remain intact even after you cancel the task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the disk.'."\n" + .'- false: does not encrypt the disk.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '234868', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'SystemDisk.EncryptAlgorithm', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The encryption algorithm for the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + .'- SM4-128.'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'SystemDisk.ProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) indicates the number of I/O operations that can be processed per second. It measures the read/write (output/input) capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'SystemDisk.BurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-aca123sf****', - ], + 'schema' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled. '."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'<props="china">For more information, see [ESSD AutoPL disks](~~368372~~).</props>', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'ImageOptions.LoginAsNonRoot', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user user for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~).'."\n" + .'[Manage the logon name of an ECS instance](~~'."\n" + .'[管理ECS实例的登录名](~~388447~~)', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CancelInstanceRefresh', - 'description' => '* You cannot call this operation to cancel instance refresh tasks that are being rolled back.'."\n", - ], - 'RollbackInstanceRefresh' => [ - 'summary' => 'Rolls back an instance refresh task. If an instance refresh task cannot meet your business requirements, you can call the RollbackInstanceRefresh operation. When you roll back an instance refresh task, Auto Scaling creates new instances based on the active scaling configuration to replace the instances whose configurations are already updated by running the task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'The release protection property of the instance. Specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, to prevent the instance from being accidentally deleted. Valid values:'."\n" + ."\n" + .'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'> This property applies only to pay-as-you-go instances. It prevents instances scaled out by Auto Scaling from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '234874', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'StorageSetPartitionNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + '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' => 'RegionId', + 'name' => 'CustomPriorities', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The custom priorities of ECS instance type and vSwitch combinations.'."\n" + .'><notice>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.</notice>'."\n" + ."\n" + .'If an instance cannot be created based on the instance type and vSwitch combination with the highest priority, Auto Scaling automatically selects the combination with the next highest priority to create the instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The priorities of the unspecified combinations are determined by the order of vSwitches in the scaling group and the order of instance types in the scaling configuration.'."\n" + .'> - For example, if the vSwitch order in the scaling group is vsw1 and vsw2, the instance type order in the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + ."\n" + .'> The instance type must be included in the instance type list of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6a.4xlarge', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + ."\n" + .'> The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'NetworkInterfaces', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary ENI.'."\n" + .'- Secondary: secondary ENI.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + ."\n" + .'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI. Note the following items:'."\n" + ."\n" + .'This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n" + ."\n" + .'After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs. Note the following items:'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary elastic network interface (ENI).', 'type' => 'string', 'required' => false, 'example' => 'sg-2ze55shrxxxxx', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the IP address limit for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ + 'description' => 'The security options.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], ], - 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]', - 'title' => 'RollbackInstanceRefresh', - ], - 'SuspendInstanceRefresh' => [ - 'summary' => 'Suspends an instance refresh task. If you are not sure that you want to roll back an ongoing instance refresh task whose configurations you think has an issue, you can call the SuspendInstanceRefresh operation to suspend the task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + .'- enabled: enabled.'."\n" + .'- disabled: disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of ECS instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '234876', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) to access instance metadata. Valid values:'."\n" + ."\n" + .'- optional: does not forcefully use the security-hardened mode.'."\n" + .'- required: forcefully uses the security-hardened mode. After you set this value, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For more information about the modes for accessing instance metadata, see [Access mode of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'InternetMaxBandwidthIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The maximum inbound bandwidth for public network traffic. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the purchased maximum outbound bandwidth for public network traffic is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the purchased maximum outbound bandwidth for public network traffic is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourcePoolOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The resource pool policy used when instances are created. After you specify this parameter, note the following items:'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.'."\n" + ."\n" + .'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pools are used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. When this strategy is selected, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This strategy is in invitational preview and is not available for use.)'."\n" + ."\n" + .'- None: does not use a resource pool strategy.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The IDs of private pools, which are the IDs of elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a private pool, which is the ID of an elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n" + .'- Tag matching rule: A private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n" + .'- Tag matching rule: A private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'InstanceTypeCandidateOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', + 'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in alternative zones are created and added to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.5', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n" + .'> The instance type remains unchanged. Only alternative zones are selected. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.', + 'type' => 'array', + 'items' => ['description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response returned after the scaling configuration is modified.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'SuspendInstanceRefresh', - 'description' => '* You cannot call this operation to suspend an instance refresh task that is being rolled back.'."\n", - ], - 'ResumeInstanceRefresh' => [ - 'summary' => 'Resumes an instance refresh task.', - 'methods' => [ - 'post', - 'get', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'https', + 'title' => 'Modify an eCS-type scaling configuration', + 'description' => '- If you modify the name of a scaling configuration, ensure that no duplicate names exist within the same scaling group.'."\n" + .'- You can bind a primary network interface controller (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned. When you modify a scaling configuration by using one method, the NIC configurations set by the other method are cleared.'."\n" + ."\n" + .' - Set the configurations of the primary NIC by using parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount.'."\n" + ."\n" + .' - Set the configurations of the primary NIC and secondary NICs by using the NetworkInterfaces parameter. When you use the NetworkInterfaces parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingGroup' => [ + 'summary' => 'Modifies a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can modify scaling groups to adjust your computing power with ease. The computing power refers to the instances that provide the computing capability. When your scaling group cannot meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum, minimum, and expected numbers of instances. This prevents repeated creation and configuration of scaling groups, which saves you a lot of time and resource costs.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '234877', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125326', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], '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 that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'The minimum number of ECS instances or elastic container instances that must be contained in the scaling group. If the total number of instances in the scaling group is less than the value of MinSize, Auto Scaling proactively adds instances to the scaling group to ensure that the total number aligns with the minimum threshold.'."\n" + ."\n" + .'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ResumeInstanceRefresh', - ], - 'CreateLifecycleHook' => [ - 'summary' => 'Creates one or more lifecycle hooks in a scaling group. A lifecycle hook allows you to execute custom actions like sending notifications or automating script execution at critical stages (such as instance startup and termination) in the lifecycle of an instance. Implementing the lifecycle hook feature allows for finer control and management of instances. For example, you can verify configurations, set up custom tasks, or back up data on your instances when lifecycle hooks take effect, thus enhancing the flexibility and reliability of application deployment.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125396', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', + 'name' => 'MaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of ECS instances or elastic container instances that can be contained in the scaling group. If the total number of instances in the scaling group is greater than the value of MaxSize, Auto Scaling proactively removes the surplus instances from the scaling group to restore the total number to match the maximum limit.'."\n" + ."\n" + .'The value range of MaxSize is directly correlated with the degree of dependency your business has on Auto Scaling. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check **the maximum number of instances that a single scaling group can contain.**'."\n" + ."\n" + .'For example, if a scaling group can contain up to **2,000** instances, the value range of MaxSize is 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '99', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'DefaultCooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', - ], + 'schema' => ['description' => 'The cooldown period of the scaling group. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'RemovalPolicies', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the lifecycle hook. Each lifecycle hook name must be unique within a scaling group. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + 'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" ."\n" - .'If you do not specify this parameter, the value of the LifecycleHookId parameter is used.'."\n", - 'type' => 'string', + .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" + ."\n" + .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], 'required' => false, - 'example' => 'lifecyclehook****', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LifecycleTransition', + 'name' => 'ActiveScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT'."\n" - .'* SCALE_IN'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SCALE_OUT', - ], + 'schema' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], ], [ - 'name' => 'DefaultResult', + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group. Default value: ECS.'."\n" + ."\n" + .'> If you want to enable instance health check and load balancer health check at the same time, we recommend that you specify `HealthCheckTypes`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", 'type' => 'string', 'required' => false, 'example' => ' lt-m5e3ofjr1zn1aw7****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version number of the launch template. Valid values:'."\n" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: The default template version is always used.'."\n" + .'* Latest: The latest template version is always used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'OnDemandBaseCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances that must be included in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'OnDemandPercentageAboveBaseCapacity', 'in' => 'query', + 'schema' => ['description' => 'The expected percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'SpotInstanceRemedy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to supplement preemptible instances. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'CompensateWithOnDemand', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as cost-related issues and insufficient resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'SpotInstancePools', + 'in' => 'query', + 'schema' => ['description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Auto Scaling maintains the expected number of ECS instances or elastic container instances in the scaling group. Make sure that you adhere to the following rule when specifying this parameter: Value of MaxSize ≥ Value of DesiredCapacity ≥ Value of MinSize'."\n" + ."\n" + .'> If you re-enable the Expected Number of Instances feature, you must specify a value for `DesiredCapacity` again.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'GroupDeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" + .'* false: disables deletion protection for the scaling group.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MultiAZPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are scaled based on the vSwitch priority. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" + .'* COST_OPTIMIZED: During a scale-out activity, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price of vCPU. During a scale-in activity, Auto Scaling preferentially removes ECS instances of the instance types that have the highest unit price of vCPU. Auto Scaling preferentially creates preemptible instances when preemptible instance types are specified in the scaling configuration. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n" + ."\n" + .'> The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across zones that are specified in the scaling group. If ECS instances are unevenly distributed among zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances among the zones.'."\n" + .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" + 'description' => 'The IDs of vSwitches.'."\n" + ."\n" + .'This parameter takes effect only when the network type of the scaling group is virtual private cloud (VPC). The specified vSwitches and the scaling group must reside in the same VPC.'."\n" ."\n" - .'* CONTINUE: Auto Scaling continues to respond to scale-in or scale-out requests.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" + .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IDs of vSwitches.'."\n" ."\n" - .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. As a result, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out.'."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches and the scaling group must reside in the same VPC.'."\n" ."\n" - .'Default value: CONTINUE.'."\n", - 'type' => 'string', + .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1oo2a7isyrb8igf****', 'title' => ''], 'required' => false, - 'example' => 'CONTINUE', + 'maxItems' => 8, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'LaunchTemplateOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The information about the instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" + ."\n" + .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" + ."\n" + .'You can use this parameter to specify any instance types that are available for purchase.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want to scale the scaling group based on the instance types, you must specify LaunchTemplateOverrides.InstanceType before you specify this parameter. The two parameters have a one-to-one correspondence.'."\n" + ."\n" + .'The weight specifies the capacity of an instance of the specified instance type in the scaling group.'."\n" + ."\n" + .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" + ."\n" + .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" + ."\n" + .'Sample capacity configurations:'."\n" + ."\n" + .'* Current capacity: 0.'."\n" + .'* Expected capacity: 6'."\n" + .'* Capacity of ecs.c5.xlarge: 4'."\n" + ."\n" + .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" + ."\n" + .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of instance type N that is specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N instance types by using the Extend Launch Template feature. You can specify 1 to 10 memory sizes, indicated by N.'."\n" + ."\n" + .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '600', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NotificationMetadata', + 'name' => 'MaxInstanceLifetime', + 'in' => 'query', + 'schema' => ['description' => 'The maximum life span of the instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 86400 to Integer.maxValue. ``You can also set this parameter to 0. A value of 0 indicates that the instance has an unlimited life span in the scaling group.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], + ], + [ + 'name' => 'AzBalance', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'AllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances at the same time. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], + ], + [ + 'name' => 'SpotAllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], + ], + [ + 'name' => 'CustomPolicyARN', + 'in' => 'query', + 'schema' => ['description' => 'The ARN of the custom scaling policy (Function). This parameter takes effect only when you specify CustomPolicy as the first step of the instance removal policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + ], + [ + 'name' => 'DisableDesiredCapacity', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:'."\n" + ."\n" + .'- false: Enables the expected number of instances feature.'."\n" + .'- true: Disables the expected number of instances feature.'."\n" + ."\n" + .'> You can set this parameter to true (to disable the expected number of instances feature) only when no scaling activity is currently running in the scaling group. When this feature is disabled, the current DesiredCapacity property of the scaling group is cleared, but the actual number of instances in the scaling group remains unchanged.', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ScalingPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode'."\n" + ."\n" + .'* release: release mode'."\n" + ."\n" + .'* forcerelease: forced release mode'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If you set the value to `forcerelease`, Auto Scaling forcibly releases instances that are in the `Running` state during scale-ins. Forced release is equivalent to power outage. If an instance is forcibly released, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" + ."\n" + .'* forcerecycle: forced recycle mode'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If you set the value to `forcerecycle`, Auto Scaling forcibly shuts down instances that are in the `Running` state during scale-ins. Forced shutdown is equivalent to power outage. If an instance is forcibly shut down, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" + ."\n" + .'ScalingPolicy specifies only the reclaim mode of the scaling group. RemovePolicy of the RemoveInstances operation specifies the manner how instances are removed from the scaling group. For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], + ], + [ + 'name' => 'HealthCheckTypes', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The notification metadata that is sent when the lifecycle hook takes effect. This helps you manage and categorize notifications in an efficient manner. If you specify this parameter, you must specify the NotificationArn parameter. The parameter value cannot exceed 4,096 characters in length.'."\n" + 'description' => 'The health check mode of the scaling group.'."\n" ."\n" - .'If you use the NotificationArn parameter to specify a public or customOOS template, the value of the NotificationMetadata parameter must be a JSON string that contains the OOS template parameters. For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Some parameters defined in your OOS template have default values. When you specify the NotificationMetadata parameter, specify parameters that do not have default values. If you specify parameters that have default values, the default values are overwritten. However, the default values of the following parameters must be retained to obtain information about scaling activities that are in progress:'."\n" + .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n" ."\n" - .'* `regionId`: the region ID of the scaling activity that is in progress. Default value: ${regionId}.'."\n" - .'* `instanceIds`: the IDs of ECS instances that are scaled in in the scaling activity. Default value: ${instanceIds}.'."\n" - .'* `lifecycleHookId`: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n" - .'* `lifecycleActionToken`: the token of the lifecycle action. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n" - .'* `scalingGroupId`: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" ."\n" - .'> You can obtain template parameter information in the [OOS console](https://oos.console.aliyun.com/).'."\n", - 'type' => 'string', + .'Default value: ECS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'example' => 'Test lifecycle hook.', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NotificationArn', + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds. Valid values: 30 to 240.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter takes effect only if you set ScalingPolicy to release.\\'."\n" + .' If you specify this parameter, the system proceeds with the scale-in process only after the period of time specified by StopInstanceTimeout ends. In this case, the scale-in operation continues regardless of whether the ECS instance enters the Stopped state or not.\\'."\n" + .' If you do not specify this parameter, the system proceeds with the scale-in process only after the ECS instance enters the Stopped state. If the ECS instance fails to enter the Stopped state, the scale-in process rolls back, and the scale-in operation is considered as failed.'."\n" + ."\n" + .'* When you call the ModifyScalingGroup operation, you can set the value to 0. In this case, the system ignores this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'CapacityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the value must be in one of the following formats:'."\n" - ."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" - .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account. IDs of Resource Access Management (RAM) users are not supported.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', + 'description' => 'The capacity options.'."\n", + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" + ."\n" + .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of additional pay-as-you-go instances beyond the minimum required by `OnDemandBaseCapacity` in the scaling group. Valid values: 0 to 100'."\n" + ."\n" + .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this case, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode. Valid values:'."\n" + ."\n" + .'* PricePerUnit: compares prices based on capacity.'."\n" + ."\n" + .' The capacity of instances in a scaling group is determined by the weights of the instance types used. If no weight is specified, the default weight is 1, which specifies that each instance in the scaling group has a capacity of 1.'."\n" + ."\n" + .'* PricePerVCpu: compares prices based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], + ], 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'BalanceMode', + 'in' => 'query', + 'schema' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n" + ."\n" + .'* BalancedBestEffort: If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" + .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'], + ], + [ + 'name' => 'AutoRebalance', + 'in' => 'query', + 'schema' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* false: Auto rebalancing is disabled for the scaling group.'."\n" + .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp1at9ufhmcf9cmy****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]', - 'title' => 'CreateLifecycleHook', - 'description' => 'You can create a maximum of 10 lifecycle hooks for each scaling group. When a scaling activity occurs in a scaling group with a lifecycle hook, the hook pauses the activity for a specified period. This waiting period is determined by the HeartbeatTimeout parameter. You can perform custom operations, like initializing ECS instance configurations or querying ECS instance data, before the lifecycle hook expires.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyScalingGroup', + 'description' => '- The following parameters cannot be modified:'."\n" ."\n" - .'During a scale-out event, the private IP addresses of ECS instances are added to the IP address whitelists of the associated ApsaraDB RDS instances. The ECS instances are then added to the backend server groups of the associated Server Load Balancer (SLB) instances only after the lifecycle hook times out. During a scale-in event, the private IP addresses of ECS instances are removed from the IP address whitelists of the associated ApsaraDB RDS instances. Additionally, the ECS instances are removed from the backend server groups of the associated SLB instances only after the lifecycle hook times out.'."\n" + .' - RegionId'."\n" ."\n" - .'For each lifecycle hook, you must specify a notification recipient. When lifecycle hooks are triggered, notifications can be delivered through Simple Message Queue (SMQ, formerly MNS) topics, SMQ queues, or CloudOps Orchestration Service (OOS) templates. If you want to configure an OOS template, you must create a Resource Access Management (RAM) role for OOS. For more information, see [Use RAM to grant permissions to OOS](~~120810~~).'."\n" + .' - LoadBalancerId'."\n" ."\n" - .'> If your scaling group contains existing ECS instances and you\'ve configured an OOS template to manage their private IP addresses in the whitelists of non-ApsaraDB RDS databases, you must manually add or remove those IPs from the whitelists.'."\n", - ], - 'ModifyLifecycleHook' => [ - 'summary' => 'Modifies a lifecycle hook. If an existing lifecycle hook does not meet your business requirements anymore, you can call the ModifyLifecycleHook operation to modify the information such as the scaling event, timeout period, and default action of the lifecycle hook. Before you modify a lifecycle hook, you can locate the lifecycle hook by its ID, name, or scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .' > To modify an SLB instance, use the AttachLoadBalancers and DetachLoadBalancers APIs.'."\n" + ."\n" + .' - DBInstanceId'."\n" + ."\n" + .' > To modify an RDS instance, use the AttachDBInstances and DetachDBInstances APIs.'."\n" + ."\n" + .'- You can invoke this API only when the scaling group status is `Active` or `Inactive`.'."\n" + ."\n" + .'- Enabling a new scaling configuration does not affect ECS instances or ECI instances that were created using an earlier scaling configuration and are currently running.'."\n" + ."\n" + .'- If MaxSize is modified such that the current number of ECS or ECI instances in the scaling group exceeds MaxSize, the scaling group automatically removes ECS or ECI instances until the instance count equals MaxSize.'."\n" + ."\n" + .'- If MinSize is modified such that the current number of ECS or ECI instances in the scaling group falls below MinSize, the scaling group automatically adds ECS or ECI instances until the instance count equals MinSize.'."\n" + ."\n" + .'- If DesiredCapacity is set for the scaling group and then modified such that the current number of ECS or ECI instances differs from the new DesiredCapacity, the scaling group automatically adds or removes ECS or ECI instances until the instance count equals DesiredCapacity.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125362', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'abilityTreeCode' => '125391', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'ScalingRuleId', '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' => 'The ID of the scaling rule that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dvirgwkoowxk7****'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingRuleName', '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' => 'The name of the scaling rule. The name must be 2 to 64 letters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n" + ."\n" + .'The name of each scaling rule must be unique under the same account within the same region.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****'], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'Cooldown', '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' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], [ - 'name' => 'DefaultResult', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook ends. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to scaling requests.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" - ."\n" - .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for the lifecycle hook that you want to modify, Auto Scaling immediately performs the action after the lifecycle hook that you want to modify ends. As a result, other lifecycle hooks end ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks end.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'The minimum number of instances to scale. This parameter takes effect only if you create a simple scaling rule or step scaling rule and set `AdjustmentType` to `PercentChangeInCapacity`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time before the lifecycle hook ends. Auto Scaling performs the specified action after the lifecycle hook ends. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the RecordLifecycleActionHeartbeat operation to prolong the length of a lifecycle hook. You can also call the CompleteLifecycleAction operation to end a lifecycle hook ahead of schedule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The adjustment method of the scaling rule. This is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity'], ], [ - 'name' => 'LifecycleTransition', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT'."\n" - .'* SCALE_IN'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_IN', - ], + 'schema' => ['description' => 'The target value specified in the scaling rule. This parameter is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" + ."\n" + .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], [ - 'name' => 'NotificationMetadata', + 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n" - ."\n" - .'Auto Scaling sends the value specified for the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The NotificationMetadata parameter takes effect only after you specify the NotificationArn parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" + ."\n" + .'> Auto Scaling calculates the number of ECS instances that need to be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], [ - 'name' => 'NotificationArn', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" - ."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" - .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The predefined metric. This parameter is required only if you create a target tracking scaling rule or predictive scaling rule.'."\n" + ."\n" + .'Valid values if you create a target tracking scaling rule:'."\n" + ."\n" + .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" + .'* MemoryUtilization (recommended): the memory usage.'."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* VpcInternetTx: the average outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" + .'* VpcInternetRx: the average inbound traffic from the Internet to a VPC.'."\n" + .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" + ."\n" + .'Valid values if you create a predictive scaling rule:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization'], ], [ - 'name' => 'RegionId', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The target value. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125'], ], [ - 'name' => 'LifecycleHookStatus', + 'name' => 'DisableScaleIn', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The status into which you want to put the lifecycle hook. Valid values:'."\n" - ."\n" - .'* Active'."\n" - .'* InActive'."\n" - ."\n" - .'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n" - ."\n" - .'> By default, a lifecycle hook is in the Active state after you create it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'ScaleInEvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyLifecycleHook', - 'description' => 'You can use one of the following methods to locate the lifecycle hook that you want to modify:'."\n" - ."\n" - .'* Specify LifecycleHookId. In this case, ScalingGroupId and LifecycleHookName are ignored.'."\n" - .'* Specify ScalingGroupId and LifecycleHookName. Each lifecycle hook within a scaling group has a unique name.'."\n", - ], - 'DescribeLifecycleHooks' => [ - 'summary' => 'Queries lifecycle hooks. When you call this operation, you can specify the lifecycle hook ID or scaling group ID to query the details of the desired lifecycle hook, such as the default action after the lifecycle hook times out, scaling activity that corresponds to the lifecycle hook, Alibaba Cloud Resource Name (ARN) of the notification recipient, and effective period of the lifecycle hook.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ScaleOutEvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3'], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125347', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', + [ + 'name' => 'PredictiveScalingMode', + 'in' => 'query', + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" + .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale'], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'PredictiveValueBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'Specifies which one of the initial maximum capacity and the predicted value can be used as the maximum value for prediction tasks. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue'], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + 'schema' => ['description' => 'The ratio based on which the predicted value is increased when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], ], [ - 'name' => 'PageNumber', + 'name' => 'PredictiveTaskBufferTime', + 'in' => 'query', + 'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + ], + [ + 'name' => 'InitialMaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'StepAdjustments', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0'], + 'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + 'MetricIntervalLowerBound' => ['description' => 'The lower limit that is specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '1', + 'maxItems' => 20, ], ], [ - 'name' => 'PageSize', + 'name' => 'AlarmDimensions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool'], + 'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2dxxx'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '50', + 'maxItems' => 5, ], ], [ - 'name' => 'LifecycleHookIds', + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system'], + ], + [ + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'aliyun-test'], + ], + [ + 'name' => 'HybridMetrics', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the lifecycle hooks that you want to query.'."\n", + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The ID of the lifecycle hook that you want to query.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a'], + 'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'required' => false, 'example' => '(a+b)/2'], + 'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible'], + 'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of all metric values within a specified interval.'."\n" + .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" + .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average'], + 'Dimensions' => [ + 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'queue'], + 'DimensionValue' => ['description' => 'The value of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testQueue'], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], 'required' => false, - 'example' => 'ash-bp1at9ufhmcf9cmy****', + 'description' => '', ], 'required' => false, 'maxItems' => 100, ], ], [ - 'name' => 'RegionId', + 'name' => 'AlarmOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The alert attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The statistical period of the metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + ], 'required' => false, - 'example' => 'cn-beijing', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of lifecycle hooks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LifecycleHooks' => [ - 'description' => 'Details about the lifecycle hooks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details about the lifecycle hook.'."\n", - 'type' => 'object', - 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The next action that is performed after the lifecycle hook times out.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp19d1032y9kij96****', - ], - 'LifecycleHookName' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'lifecyclehook****', - ], - 'LifecycleTransition' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", - 'type' => 'string', - 'example' => 'SCALE_OUT', - ], - 'NotificationMetadata' => [ - 'description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.'."\n", - 'type' => 'string', - 'example' => 'Test Lifecycle Hook.', - ], - 'NotificationArn' => [ - 'description' => 'The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter must be in one of the following formats:'."\n" - ."\n" - .'* If you do not create a notification rule, specify the value in the `acs:ess:{region-id}:{account-id}:null/null` format.'."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an SMQ as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" - .'* If you specify an event bus as the notification recipient, specify the value in the `acs:eventbridge:{region-id}:{account-id}:eventbus/default` format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'example' => 'acs:ess:cn-beijing:161456884340****:null/null', - ], - 'HeartbeatTimeout' => [ - 'description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'LifecycleHookStatus' => [ - 'description' => 'The status of the lifecycle hook. Valid values:'."\n" - ."\n" - .'* Active: The lifecycle hook is enabled.'."\n" - .'* InActive: The lifecycle hook is disabled.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLifecycleHooks', - 'description' => 'You can use one of the following methods to query lifecycle hooks:'."\n" - ."\n" - .'* Specify a list of lifecycle hook IDs by using the LifecycleHookIds 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 at the same time.'."\n", - ], - 'RecordLifecycleActionHeartbeat' => [ - 'summary' => 'Extends the time window during which Elastic Compute Service (ECS) instances stay in a Pending state. If the current time window during which an ECS instance stays in a Pending state is not sufficient for you to complete custom operations on the ECS instance, you can call the RecordLifecycleActionHeartbeat operation to extend the time window. When you call this operation, you can specify lifecycleHookId, lifecycleActionToken, and heartbeatTimeout to extend the time window for the desired ECS instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyScalingRule', + 'summary' => 'Modifies a scaling rule. If an existing scaling rule cannot meet your business requirements, you can call the ModifyScalingRule operation to modify the scaling rule, without the need to create a new one. This streamlines your workflow, enhancing operational efficiency while also contributing to cost optimization by avoiding redundant steps.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125371', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'abilityTreeCode' => '125370', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], ], 'parameters' => [ [ - 'name' => 'lifecycleHookId', + 'name' => 'ScheduledTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'The ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****'], ], [ - 'name' => 'lifecycleActionToken', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The action token of the lifecycle hook. You can obtain the token from the details page of the Simple Message Queue (SMQ, formerly MNS) queue specified for the lifecycle hook.'."\n" - ."\n" - .'You can also call the [DescribeLifecycleActions](~~459333~~) operation to obtain the action token of the lifecycle hook.'."\n" - ."\n" - .'If you specified an SMQ topic for the lifecycle hook, you can obtain the token from the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'F324B880-900E-4968-85DD-81691113****', - ], + 'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], ], [ - 'name' => 'heartbeatTimeout', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The time window during which the ECS instance stays in a Pending state. When the time window ends, Auto Scaling executes the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call this operation to extend the time window during which the ECS instance stays in a Pending state. You can also call the [CompleteLifecycleAction](~~459335~~) operation to remove the ECS instance from the Pending state ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.'], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => ['description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Enter the ID of the scaling rule. To obtain the ID of a scaling rule, go to the scaling rule details page. If you specify `ScheduledAction`, you must select an existing scaling rule for the scheduled task.'."\n" + ."\n" + .'> You can specify only one of `ScheduledAction` and `ScalingGroupId`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****'], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is modified.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-20T16:55Z'], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => ['description' => 'The point in time at which the scheduled task is triggered. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the point in time at which the scheduled task is modified.'."\n" + ."\n" + .'* If you specify the `RecurrenceType` parameter, the task is repeatedly executed at the time point that is specified by the LaunchTime parameter.'."\n" + .'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the point in time that is specified by the LaunchTime parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '2014-08-18T10:52Z'], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" + ."\n" + .'* Daily: The scheduled task is executed once every specified number of days.'."\n" + .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" + .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" + .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Daily'], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The number of recurrences of the scheduled task.'."\n" + ."\n" + .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" + .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" + .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" + ."\n" + .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2'], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => ['description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600'], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" + ."\n" + .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group whose number of instances must be modified when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, you must specify the minimum, maximum, or expected numbers of instances for a scaling group in the scheduled task. That is, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" + ."\n" + .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -25298,32 +17479,38 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'RecordLifecycleActionHeartbeat', - 'description' => 'You can call this operation only to extend the time window during which Elastic Compute Service (ECS) instances stay in a Pending state.'."\n" - ."\n" - .'An ECS instance can stay in a Pending state for up to six hours. Each time an ECS instance enters a Pending state, you can extend the time window during which the ECS instance stays in the Pending state up to 20 times.'."\n", - ], - 'DescribeLifecycleActions' => [ - 'summary' => 'Queries lifecycle hook actions. When you call the DescribeLifecycleActions operation, you can specify parameters such as ScalingActivityId, NextToken, and MaxResults to query the details such as the action status and ID of a lifecycle hook. You can also call this operation to query the IDs of Elastic Compute Service (ECS) instances on which the lifecycle hook takes effect.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling', 'errorMessage' => 'Request was denied due to request throttling.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyScheduledTask', + 'summary' => 'Modifies a scheduled task. If an existing scheduled task cannot meet your business requirements, you can call the ModifyScheduledTask operation to adjust its parameter settings including the scaling rule to execute and the boundary values of your scaling group, without the need to create a new scheduled task. This operation provides a flexible way to optimize scheduled tasks.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'QueryHistoricalMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25331,70 +17518,42 @@ ], 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '125398', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', - ], + 'abilityTreeCode' => '221688', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'ScalingActivityId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asa-bp17mug9t0pegagw****', - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LifecycleActionStatus', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the lifecycle action. Valid values:'."\n" - ."\n" - .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n" - .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Pending', - ], + 'schema' => ['description' => 'The start time of historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" - ."\n" - .'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAcSz4VTb1Nq****', - ], + 'schema' => ['description' => 'The end time of the historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], ], ], 'responses' => [ @@ -25402,170 +17561,103 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The query token returned in this call.'."\n", - 'type' => 'string', - 'example' => 'AAAAAcSz4VTb1Nq****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3', - ], - 'TotalCount' => [ - 'description' => 'The total number of the queried lifecycle actions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MaxResults' => [ - 'description' => 'The maximum number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LifecycleActions' => [ - 'description' => 'The actions of the lifecycle hook.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lifecycle actions.'."\n", - 'type' => 'object', - 'properties' => [ - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp18uoft0deax0f7****', - ], - 'LifecycleActionToken' => [ - 'description' => 'The token of the lifecycle hook action.'."\n", - 'type' => 'string', - 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB', - ], - 'LifecycleActionStatus' => [ - 'description' => 'The status of the lifecycle hook action.'."\n", - 'type' => 'string', - 'example' => 'Pending', - ], - 'LifecycleActionResult' => [ - 'description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of the ECS instances on which the lifecycle hook takes effect'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance on which the lifecycle hook takes effect'."\n", - 'type' => 'string', - 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'HistoricalMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HistoricalMetric' => [ + 'description' => 'The monitoring metrics of the prediction rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring metrics of the prediction rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricValue' => ['description' => 'The value of the metric.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''], + 'Time' => ['description' => 'The point in time of the monitoring metric. The value must be in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLifecycleActions', - 'description' => 'If a scaling activity is executed and a lifecycle hook is created for the scaling activity, the lifecycle hook triggers a lifecycle action. A lifecycle action can be in one of the following states:'."\n" - ."\n" - .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action expires and ECS instances are added to or removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n" - ."\n" - .'If you do not specify the action to perform, such as execute a specific OOS template, after a lifecycle hook ends, you can call this operation to obtain the token of the lifecycle action that corresponds to the lifecycle hook. Then, you can specify a custom action to perform after the lifecycle hook ends.'."\n", - ], - 'CompleteLifecycleAction' => [ - 'summary' => 'Ends the timeout period of a lifecycle hook ahead of schedule. If you have created a lifecycle hook for your scaling group, you can call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule based on your business requirements.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryHistoricalMetric', + 'summary' => 'Queries the historical monitoring data of a scaling group that uses predictive scaling rules.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryHistoricalMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"HistoricalMetrics\\": {\\n \\"HistoricalMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125379', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '221689', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp14g3ee6bt3sc98****', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LifecycleActionToken', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the lifecycle action. You can obtain the token from the Simple Message Queue (SMQ, formerly MNS) queue or topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aaaa-bbbbb-cccc-ddddd', - ], + 'schema' => ['description' => 'The start time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'LifecycleActionResult', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" - .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" - ."\n" - .'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n" - ."\n" - .'If multiple lifecycle hooks exist in a scaling group and the lifecycle hooks are triggered at the same time, the following rules apply:'."\n" - ."\n" - .'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to ABANDON or ROLLBACK time out, other lifecycle hooks time out ahead of schedule.'."\n" - .'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to CONTINUE, Auto Scaling performs the next action only after the last lifecycle hook times out. The action that Auto Scaling performs varies based on the value that you specify for the LifecycleActionResult parameter of the lifecycle hook that last times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'The end time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], ], ], 'responses' => [ @@ -25573,213 +17665,204 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', 'title' => ''], + 'PredictiveMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PredictiveMetric' => [ + 'description' => 'Predicted monitoring metrics.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Predicted monitoring metrics.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricValue' => ['description' => 'Predicted monitoring value.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''], + 'Time' => ['description' => 'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time must be in UTC.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]', - 'title' => 'CompleteLifecycleAction', - 'description' => 'When you manually cut short the timeout period of a lifecycle hook, Auto Scaling proceeds with one of the following actions based on the predefined settings: responding to the scaling request, aborting the scaling request, and initiating a rollback process.'."\n", - ], - 'DeleteLifecycleHook' => [ - 'summary' => 'Deletes a lifecycle hook. If you no longer require a lifecycle hook, you can call the DeleteLifecycleHook operation to delete it, which frees up the lifecycle hook quota.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryPredictiveMetric', + 'summary' => 'Queries predicted monitoring data.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PredictiveMetrics\\": {\\n \\"PredictiveMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveTaskInfo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125343', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '221691', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], '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'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The start time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + 'schema' => ['description' => 'The end time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the prediction scaling rule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dp8yd9f8xxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'TaskInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TaskInfo' => [ + 'description' => 'The scheduled task generated by the prediction rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scheduled task generated by the prediction rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The point in time at which the scheduled task is triggered. The value follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''], + 'MinValue' => ['description' => 'The minimum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaxValue' => ['description' => 'The maximum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteLifecycleHook', - 'description' => 'If you delete an effective lifecycle hook before its timeout period ends, the instances on which the lifecycle hook takes effect exits the Pending state ahead of schedule. You can use the following methods to delete a lifecycle hook:'."\n" - ."\n" - .'* Include `LifecycleHookId` within your request to specify the lifecycle hook that you want to delete. In this case, `ScalingGroupId` and `LifecycleHookName` are ignored.'."\n" - .'* Include `ScalingGroupId` and `LifecycleHookName` within your request to specify the lifecycle hook that you want to delete.'."\n", - ], - 'CreateNotificationConfiguration' => [ - 'summary' => 'Creates a notification rule. You can call the CreateNotificationConfiguration operation to create a notification rule to stay informed about scaling events or resource changes. This helps you learn about the dynamic status of your scaling group in real time and further automates the management of scaling events.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryPredictiveTaskInfo', + 'summary' => 'Queries the information about a prediction task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveTaskInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TaskInfos\\": {\\n \\"TaskInfo\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"MinValue\\": 2,\\n \\"MaxValue\\": 10\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveValue' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125368', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '221690', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], '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'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" - .'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* `region-id`: the region ID of the scaling group.'."\n" - .'* `account-id`: the ID of the Alibaba Cloud account.'."\n" - .'* `queuename`: the name of the SMQ queue.'."\n" - .'* `topicname`: the name of the SMQ topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The start time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'NotificationTypes', + 'name' => 'EndTime', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n" - ."\n" - .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n" - ."\n" - .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - 'required' => true, - 'maxItems' => 12, - ], + 'schema' => ['description' => 'The end time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2zee0wsy0zkdxxxxx', 'title' => ''], ], [ - 'name' => 'TimeZone', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'UTC+8', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'MessageEncoding', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PlainText', - ], + 'schema' => ['description' => 'The current value of the monitoring metric of the prediction rule.'."\n", 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '60', 'title' => ''], ], ], 'responses' => [ @@ -25787,140 +17870,152 @@ '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.'."\n", 'type' => 'string', 'example' => 'FA5F448E-DC84-5EBC-B6D5-F659ADxxxx', 'title' => ''], + 'PredictiveValues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PredictiveValue' => [ + 'description' => 'The number of predicted instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The number of predicted instances in the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The point in time, in the ISO 8601 standard, in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''], + 'Value' => ['description' => 'The number of instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateNotificationConfiguration', - 'description' => '* You can specify CloudMonitor system events, Simple Message Queue (SMQ, formerly MNS) topics, or SMQ queues as notification recipients. When a scaling event of the specified type or resource change occurs in your scaling group, Auto Scaling automatically sends notifications to CloudMonitor or SMQ.'."\n" - ."\n" - .'* You cannot specify the same recipient for notifications of different event types in a scaling group.'."\n" - ."\n" - .' For example, you cannot enable the same CloudMonitor system event, SMQ topic, or SMQ queue to receive notifications of different event types in a scaling group.'."\n", - ], - 'ModifyNotificationConfiguration' => [ - 'summary' => 'Modifies event notification rules. Event notification rules support automatic sending of notifications to CloudMonitor, Message Service (MNS) topics, or MNS queues when a specified type of events occur. This helps you learn about the dynamics of your scaling group at the earliest opportunity and further automate resource management. If an existing event notification rule does not meet your business requirements, you can call the ModifyNotificationConfiguration operation to modify the event notification rule, without the need to create a new rule. Take not that you cannot modify the notification method of an event notification rule by calling this operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryPredictiveValue', + 'summary' => 'Queries the predicted number of instances in a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA5F448E-DC84-5EBC-B6D5-F659ADxxxx\\",\\n \\"PredictiveValues\\": {\\n \\"PredictiveValue\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"Value\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'RebalanceInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125333', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'abilityTreeCode' => '125328', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], '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-bp18p2yfxow2dloq****'], ], [ - 'name' => 'NotificationArn', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" - .'* If you specify a Simple Message Queue (SMQ) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-kjgffgdfadah****'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], ], ], - [ - 'name' => 'NotificationTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The event types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The event type. Valid values:'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: a successful scale-out event'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: a successful scale-in event'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: a failed scale-out event'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: a failed scale-in event'."\n" - .'* AUTOSCALING:SCALE_REJECT: a rejected scaling request'."\n" - .'* AUTOSCALING:SCALE_OUT_START: a started scale-out event'."\n" - .'* AUTOSCALING:SCALE_IN_START: a started scale-in event'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: an expiring scheduled task'."\n" - .'* SCALING_GROUP_DIAGNOSE: a scaling group diagnosis'."\n" - .'* AUTOSCALING:SCALE_OUT_WARN: a partially successful scale-out event'."\n" - .'* AUTOSCALG:SCALE_IN_WARN: a partially successful scale-in event'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + ], + 'title' => 'RebalanceInstances', + 'summary' => 'Rebalances the distribution of Elastic Compute Service (ECS) instances across zones. If ECS instances are unevenly distributed across multiple zones, you can call the RebalanceInstances operation to rebalance the distribution of the ECS instances across the zones.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RebalanceInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => true, - 'maxItems' => 12, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'RecordLifecycleActionHeartbeat' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125371', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], + ], + 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'lifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp1fxuqyi98w0aib****'], ], [ - 'name' => 'TimeZone', + 'name' => 'lifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'UTC+8', - ], + 'schema' => ['description' => 'The action token of the lifecycle hook. You can obtain the token from the details page of the Simple Message Queue (SMQ, formerly MNS) queue specified for the lifecycle hook.'."\n" + ."\n" + .'You can also call the [DescribeLifecycleActions](~~459333~~) operation to obtain the action token of the lifecycle hook.'."\n" + ."\n" + .'If you specified an SMQ topic for the lifecycle hook, you can obtain the token from the MNS topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F324B880-900E-4968-85DD-81691113****'], ], [ - 'name' => 'MessageEncoding', + 'name' => 'heartbeatTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'PlainText', - ], + 'schema' => ['description' => 'The time window during which the ECS instance stays in a Pending state. When the time window ends, Auto Scaling executes the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call this operation to extend the time window during which the ECS instance stays in a Pending state. You can also call the [CompleteLifecycleAction](~~459335~~) operation to remove the ECS instance from the Pending state ahead of schedule.'."\n" + ."\n" + .'Default value: 600.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -25928,64 +18023,162 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyNotificationConfiguration', - ], - 'DescribeNotificationConfigurations' => [ - 'summary' => 'Queries notification settings. You can call the DescribeNotificationConfiguration operation to query notification settings of scaling events or resource changes, including the notification types and methods.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'RecordLifecycleActionHeartbeat', + 'summary' => 'Extends the time window during which Elastic Compute Service (ECS) instances stay in a Pending state. If the current time window during which an ECS instance stays in a Pending state is not sufficient for you to complete custom operations on the ECS instance, you can call the RecordLifecycleActionHeartbeat operation to extend the time window. When you call this operation, you can specify lifecycleHookId, lifecycleActionToken, and heartbeatTimeout to extend the time window for the desired ECS instance.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RemoveInstances' => [ + 'summary' => 'If a scaling group is enabled and has no ongoing scaling activities, you can call the RemoveInstances API to remove one or more instances from the group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'update', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '125360', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'abilityTreeCode' => '125337', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'RemovePolicy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies the action to take on removed ECS instances. Valid values:'."\n" + ."\n" + .'- recycle: The ECS instances enter the economical mode.'."\n" + ."\n" + .' > This value takes effect only when the `ScalingPolicy` parameter of the scaling group is set to `recycle`.'."\n" + ."\n" + .'- release: The ECS instances are released.'."\n" + ."\n" + .'The `ScalingPolicy` parameter of the `CreateScalingGroup` operation specifies the reclamation mode of a scaling group. However, the `RemovePolicy` parameter of the `RemoveInstances` operation determines the action taken when an instance is removed. For example:'."\n" + ."\n" + .'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `recycle`, the ECS instances enter the economical mode.'."\n" + ."\n" + .'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `release`, the ECS instances are released.'."\n" + ."\n" + .'- If `ScalingPolicy` is `release` and `RemovePolicy` is `recycle`, the ECS instances are released.'."\n" + ."\n" + .'- If `ScalingPolicy` is `release` and `RemovePolicy` is `release`, the ECS instances are released.'."\n" + ."\n" + .'Default value: release.', 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to decrease the desired capacity of the scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Decreases the desired capacity of the scaling group by the number of removed instances.'."\n" + ."\n" + .'- `false`: The desired capacity of the scaling group remains unchanged.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when you remove multiple instances from a scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Invalid instances are ignored. If valid instances are removed while invalid ones are present, the scaling activity status is set to Warning. The invalid instances are listed in the scaling activity details.'."\n" + ."\n" + .'- `false`: The request is rejected and an error is returned if it contains any invalid instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the ECS instances to remove.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an ECS instance to remove.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + 'maxItems' => 1000, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client-generated token to ensure request idempotence. This token must be unique for each request, contain only ASCII characters, and not exceed 64 characters. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period, in seconds, for an ECS instance to stop during a scale-in. Valid values: 30 to 240.'."\n" + ."\n" + .'> - By default, this parameter inherits its value from the scaling group, but you can override it when calling the `RemoveInstances` operation.'."\n" + .'>'."\n" + .'> - This parameter takes effect only during scale-in events where `RemovePolicy` is set to `release`.'."\n" + .'>'."\n" + .'> - If this parameter is set, the system waits for the specified duration for the instance to stop. The scale-in process continues after the timeout expires, regardless of the instance\'s state.'."\n" + .'>'."\n" + .'> - If this parameter is not set, the system waits until the instance stops before continuing the scale-in process. If the instance fails to stop, the scale-in operation is rolled back and fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The context of the lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n" + ."\n" + .'- `true`: Disables all lifecycle hooks.'."\n" + ."\n" + .'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'A list of lifecycle hook IDs to ignore for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a lifecycle hook to ignore for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], 'required' => false, - 'example' => 'cn-beijing', + 'title' => '', + 'example' => '', ], ], ], @@ -25994,132 +18187,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'NotificationConfigurationModels' => [ - 'description' => 'The notification settings.'."\n", + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'IgnoredInstances' => [ 'type' => 'array', 'items' => [ - 'description' => 'The notification setting.'."\n", 'type' => 'object', 'properties' => [ - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The value is in one of the following formats:'."\n" - ."\n" - .'* If you specify CloudMonitor as the notification recipient, the value is in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n", - 'type' => 'string', - 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'NotificationTypes' => [ - 'description' => 'The types of the notifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The types of the notifications.'."\n", - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', - ], - ], - 'TimeZone' => [ - 'description' => 'The time zone of the notification. The value must be in UTC. For example, a value of UTC+8 indicates that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 indicates that the time is 7 hours behind Coordinated Universal Time.'."\n", - 'type' => 'string', - 'example' => 'UTC+8', - ], - 'MessageEncoding' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PlainText', - ], + 'InstanceId' => ['description' => 'The ID of the instance that was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The error code that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Message' => ['description' => 'The error message that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => 'The instances that were not removed and the reasons why they were not removed.', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationConfigurationModels\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ],\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeNotificationConfigurations', - ], - 'DeleteNotificationConfiguration' => [ - 'summary' => 'Deletes event notification rules. The event notification feature facilitates efficient issue identification and event management by automatically forwarding notifications from Auto Scaling to designated endpoints such as CloudMonitor or Message Service (MNS) topics and queues. If you no longer require an event notification rule, you can call the DeleteNotificationConfiguration operation to delete it.', - '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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'RemoveInstances', + 'description' => '- Ensure the following conditions are met before you call this API:'."\n" + ."\n" + .' - The scaling group is in the Active state.'."\n" + ."\n" + .' - The scaling group has no scaling activities in progress.'."\n" + ."\n" + .'> This API can bypass the cooldown (`DefaultCooldown`) if the scaling group has no ongoing scaling activities.'."\n" + ."\n" + .'- If an ECS instance is automatically created by Auto Scaling, or is manually added and managed by the scaling group, removing the instance from the scaling group places it in Economical Mode or releases it.'."\n" + ."\n" + .'- If an ECS instance is manually added and not managed by the scaling group, removing the instance from the group does not stop or release it.'."\n" + ."\n" + .'- The call fails if the number of remaining instances would fall below the minimum number of instances (`MinSize`).'."\n" + ."\n" + .'A successful response confirms the Auto Scaling service has accepted the request, but does not guarantee the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the execution status of the scaling activity.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ResumeInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125346', - 'abilityTreeNodes' => [ - 'FEATUREessJ2FJEV', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '234877', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'NotificationArn', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" - ."\n" - .'* If you specify CloudMonitor as the notification recipient, specify the value in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud cloud.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'], ], ], 'responses' => [ @@ -26127,525 +18285,448 @@ '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.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteNotificationConfiguration', - ], - 'DescribeNotificationTypes' => [ - 'summary' => 'Queries notification types. You can call the DescribeNotificationTypes operation to query the types of notifications on scaling events or resource changes occurred in your scaling groups. Notifications are triggered in scenarios such as successful scale-out events, successful scale-in events, expiration of scheduled tasks, and partially successful scale-out events.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ResumeInstanceRefresh', + 'summary' => 'Resumes an instance refresh task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ResumeProcesses' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125339', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', + 'operationType' => 'update', + 'abilityTreeCode' => '125388', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + ."\n" + .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], + ], + [ + 'name' => 'Processes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the processes that you want to resume.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The type of the process that you want to resume. Valid values:'."\n" + ."\n" + .'* ScaleIn'."\n" + .'* ScaleOut'."\n" + .'* HealthCheck'."\n" + .'* AlarmNotification'."\n" + .'* ScheduledAction'."\n" + ."\n" + .'You can resume five processes of the preceding types at the same time. If you try to resume more than five processes at the same time, Auto Scaling automatically removes the duplicate processes.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleIn'], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'NotificationTypes' => [ - 'description' => 'The types of the notifications.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The types of the notifications.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - ], + 'RequestId' => ['description' => 'The ID of the request'."\n", 'type' => 'string', 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeNotificationTypes', - ], - 'CreateDiagnoseReport' => [ - 'summary' => 'Creates a diagnostic report.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ResumeProcesses', + 'summary' => 'Resumes suspended processes in a scaling group. This operation allows Auto Scaling to proceed with executing these processes according to their predefined rules and logic. For example, if you resume the health check process in your scaling group, Auto Scaling automatically detects and removes any instances deemed unhealthy from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]', + ], + 'RollbackInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '221453', - 'abilityTreeNodes' => [ - 'FEATUREessO4WOGN', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '234874', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1f2f6oxc2*******', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0189C6CB-07BA-5AFE-B533-D93892324774', - ], - 'ReportId' => [ - 'description' => 'The unique ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-uf6enpbnri1xhcy9qc7s', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]', - 'title' => 'CreateDiagnoseReport', - ], - 'DescribeDiagnoseReports' => [ - 'summary' => 'Queries the diagnostic reports.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]', + 'title' => 'RollbackInstanceRefresh', + 'summary' => 'Rolls back an instance refresh task. If an instance refresh task cannot meet your business requirements, you can call the RollbackInstanceRefresh operation. When you roll back an instance refresh task, Auto Scaling creates new instances based on the active scaling configuration to replace the instances whose configurations are already updated by running the task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ScaleWithAdjustment' => [ + 'summary' => 'Unlike the ExecuteScalingRule API, you can use the ScaleWithAdjustment API to trigger elastic scaling based on a specified adjustment rule, without first creating a scaling rule.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221362', - 'abilityTreeNodes' => [ - 'FEATUREessA4Z14P', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125372', + 'abilityTreeNodes' => ['FEATUREessSQIS9M'], ], '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-shenzhen', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-j6c1o397427hyjdc****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-2vcis7yglxtm*****', - ], + 'schema' => ['description' => 'The method used to adjust the number of instances in a scaling activity. Valid values:'."\n" + ."\n" + .'- `QuantityChangeInCapacity`: Adds or removes a specified number of ECS instances.'."\n" + ."\n" + .'- `PercentChangeInCapacity`: Adds or removes a specified percentage of ECS instances.'."\n" + ."\n" + .'- `TotalCapacity`: Adjusts the number of ECS instances in the scaling group to a specified number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'ReportIds', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dr-j6c7wvdzk5103bkm8cx4', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], + 'schema' => ['description' => 'The adjustment value for the scaling activity. A single adjustment cannot add or remove more than 1,000 ECS instances. The valid range depends on `AdjustmentType`:'."\n" + ."\n" + .'- `QuantityChangeInCapacity`: -1000 to 1000.'."\n" + ."\n" + .'- `PercentChangeInCapacity`: -100 to 10000.'."\n" + ."\n" + .'- `TotalCapacity`: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'isFileTransferUrl' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + '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' => 'PageSize', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request. This token must be a unique string of up to 64 ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'SyncActivity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to execute the scaling activity synchronously. This parameter applies only to scaling groups that are configured with an expected number of instances. Valid values:'."\n" + ."\n" + .'- `true`: Synchronous execution. The scaling activity is triggered immediately.'."\n" + ."\n" + .'- `false`: Asynchronous execution. The call updates the expected number of instances without immediately triggering the scaling activity. The activity occurs when the system detects a discrepancy between the new expected number and the current number of instances.'."\n" + ."\n" + .'> For more information about the expected number of instances, see [Expected number of instances](~~146231~~).'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ParallelTask', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the current scaling activity supports concurrency.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Overrides', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The parameters to override when scaling out an ECI scaling group.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996', - ], - 'Reports' => [ - 'description' => 'The diagnostic reports.'."\n", + 'Cpu' => ['description' => 'The number of vCPUs for the instance. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size for the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'ContainerOverrides' => [ + 'description' => 'A list of container-specific overrides.', 'type' => 'array', 'items' => [ - 'description' => 'The diagnostic report.'."\n", + 'description' => 'Specifies the overrides for a single container.', 'type' => 'object', 'properties' => [ - 'UserId' => [ - 'description' => 'The user ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => '161456884*******', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', + 'Name' => ['description' => 'The name of the container to override. The override takes effect only if this name matches a container name in the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'container-1', 'title' => ''], + 'Args' => [ + 'description' => 'The arguments for the container\'s startup command. You can specify up to 10 arguments.', + 'type' => 'array', + 'items' => ['description' => 'A single startup command argument.', 'type' => 'string', 'required' => false, 'example' => 'arg', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp124uve5iph3*****', + 'Commands' => [ + 'description' => 'The container\'s startup command, specified as an array of strings. You can specify up to 20 strings, and each can be up to 256 characters long.', + 'type' => 'array', + 'items' => ['description' => 'A single string in the command array.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'Details' => [ - 'description' => 'The details of the diagnostic report.'."\n", + 'EnvironmentVars' => [ + 'description' => 'Environment variables to set in the container.', 'type' => 'array', 'items' => [ + 'description' => 'A single environment variable, specified as a key-value pair.', 'type' => 'object', 'properties' => [ - 'DiagnoseType' => [ - 'description' => 'The type of the diagnostic item. Valid values:'."\n" - ."\n" - .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" - .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account at the China site (aliyun.com) is greater than or equal to CNY 100.'."\n" - .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" - .'* VSwitch: Checks whether a specific vSwitch can work as expected. For example, if a vSwitch is deleted, the vSwitch cannot provide services and an exception occurs.'."\n" - .'* SecurityGroup: Checks whether a specific security group can work as expected. For example, if a security group is deleted, the security group cannot provide services and an exception occurs.'."\n" - .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" - .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the ALB instances associated with the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the NLB instances associated with the scaling group has reached the upper limit.'."\n", - 'type' => 'string', - 'example' => 'AccountArrearage', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'sg-280ih****', - ], - 'Status' => [ - 'description' => 'The status of the diagnostic item. Valid values:'."\n" - ."\n" - .'* Normal: The diagnostic result is normal.'."\n" - .'* Warn: The diagnostic result is warning.'."\n" - .'* Critical: The diagnostic result is critical.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'ErrorCode' => [ - 'description' => 'The error code of the diagnostic item. Valid values:'."\n" - ."\n" - .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" - .'* SecurityGroupNotFound: The security group does not exist.'."\n" - .'* KeyPairNotFound: The key pair does not exist.'."\n" - .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" - .'* AccountArrearage: Your account has overdue payments.'."\n" - .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is less than CNY 100.'."\n" - .'* ElasticStrengthAlert: The inventory levels are lower than expected.'."\n", - 'type' => 'string', - 'example' => 'VSwitchIdNotFound', - ], + 'Key' => ['description' => 'The name of the environment variable. It must be 1 to 128 characters long, cannot start with a digit, and can contain only letters (a-z, A-Z), digits (0-9), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable, up to 256 characters long.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/tomcat', 'title' => ''], ], - 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'ReportId' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-bp14p0cjp7wvjob5l6hk', - ], - 'ProcessStatus' => [ - 'description' => 'The status of the diagnostic report. Valid values:'."\n" - ."\n" - .'* processing: The diagnosis is in progress.'."\n" - .'* Finished: The diagnosis is complete.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'DiagnoseStatus' => [ - 'description' => 'The status of the diagnostic item. Only the severe status is displayed in the diagnostic report. Valid values:'."\n" - ."\n" - .'* Normal: The diagnostic result is normal.'."\n" - .'* Warn: The diagnostic result is warning.'."\n" - .'* Critical: The diagnostic result is critical.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'CreationTime' => [ - 'description' => 'The time when the diagnostic report was created.'."\n", - 'type' => 'string', - 'example' => '2024-08-23T02:22:30Z', - ], + 'Cpu' => ['description' => 'The number of vCPUs for the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size for the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of diagnostic reports.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], + 'UserData' => ['description' => 'The user data for the ECS instance. It must be Base64-encoded, and the raw data cannot exceed 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ECA123C6-107B-5F70-A177-740A7224C996\\",\\n \\"Reports\\": [\\n {\\n \\"UserId\\": \\"161456884*******\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ScalingGroupId\\": \\"asg-bp124uve5iph3*****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"AccountArrearage\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"VSwitchIdNotFound\\"\\n }\\n ],\\n \\"ReportId\\": \\"dr-bp14p0cjp7wvjob5l6hk\\",\\n \\"ProcessStatus\\": \\"Finished\\",\\n \\"DiagnoseStatus\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2024-08-23T02:22:30Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5\\n}","type":"json"}]', - 'title' => 'DescribeDiagnoseReports', - ], - 'DescribeScalingGroupDiagnoseDetails' => [ - 'summary' => 'DescribeScalingGroupDiagnoseDetails', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221455', - 'abilityTreeNodes' => [ - 'FEATUREessA4Z14P', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', + 'name' => 'LifecycleHookContext', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the region to which the scaling group belongs.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', + 'description' => 'The lifecycle hook context.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n" + ."\n" + .'- `true`: Disables all lifecycle hooks.'."\n" + ."\n" + .'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'A list of lifecycle hook IDs to ignore during the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a lifecycle hook to ignore.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ActivityMetadata', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The metadata for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => '{"key":"value"}', 'title' => ''], + ], + [ + 'name' => 'ExecutionMode', + 'in' => 'query', + 'schema' => ['description' => 'The execution mode. Valid values:'."\n" + ."\n" + .'- `None`: Executes a standard scaling activity.'."\n" + ."\n" + .'- `PlanOnly`: Only performs elastic planning and returns the results in `PlanResult` without triggering the scaling activity. The results include details such as instance types, availability zones, billing methods, and the number of new instances.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PlanOnly', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', - ], - 'Details' => [ - 'description' => 'The diagnostic reports.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The diagnostic report.'."\n", - 'type' => 'object', - 'properties' => [ - 'DiagnoseType' => [ - 'description' => 'The type of the diagnostic item. Valid values:'."\n" - ."\n" - .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" - .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account is sufficient.'."\n" - .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" - .'* VSwitch: Checks whether the vSwitch is available. If the specified vSwitch is deleted, specify an existing vSwitch for the scaling group.'."\n" - .'* SecurityGroup: Checks whether the security group is available. If the specified security group is deleted, specify an existing security group for the scaling group.'."\n" - .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" - .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n", - 'type' => 'string', - 'example' => 'SecurityGroup', - ], - 'ResourceId' => [ - 'description' => 'The resource ID corresponding to the diagnostic result.', - 'type' => 'string', - 'example' => 'sg-280ih****', - ], - 'Status' => [ - 'description' => 'Status of the diagnostic item. Possible values:'."\n" - ."\n" - .'- Normal: The diagnostic result is normal.'."\n" - ."\n" - .'- Warn: The diagnostic result is a warning.'."\n" - ."\n" - .'- Critical: The diagnostic result is critical.', - 'type' => 'string', - 'example' => 'Normal', - ], - 'ErrorCode' => [ - 'description' => 'The error code of the diagnostic item. Valid values:'."\n" - ."\n" - .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" - .'* SecurityGroupNotFound: The security group does not exist.'."\n" - .'* KeyPairNotFound: The key pair does not exist.'."\n" - .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" - .'* AccountArrearage: Your account has an overdue payment.'."\n" - .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is insufficient.'."\n" - .'* ElasticStrengthAlert: The inventory levels are lower than required.'."\n", - 'type' => 'string', - 'example' => 'AccountArrearage', + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ActivityType' => ['description' => 'The type of the scaling activity.'."\n" + ."\n" + .'If this parameter is set to `CapacityChange`, the scaling activity only adjusts the desired capacity of the scaling group without immediately adding or removing instances.'."\n" + ."\n" + .'This setting only affects scaling groups with a configured desired capacity.', 'type' => 'string', 'example' => 'CapacityChange', 'title' => ''], + 'PlanResult' => [ + 'description' => 'The scaling plan result returned when ExecutionMode is set to PlanOnly.', + 'type' => 'object', + 'properties' => [ + 'ResourceAllocations' => [ + 'description' => 'The resource allocation details in the scaling plan result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The availability zone ID.', 'type' => 'string', 'example' => 'cn-beijing-g', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ecs.u1-c1m8.large', 'title' => ''], + 'SpotStrategy' => ['description' => 'The spot strategy of the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: A pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: A spot instance with a user-specified price limit.'."\n" + ."\n" + .'- SpotAsPriceGo: A spot instance where the system automatically bids based on the current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'Amount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the instance. Valid values:'."\n" + ."\n" + .'- **Prepaid**: subscription'."\n" + ."\n" + .'- **PostPaid**: pay-as-you-go', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"SecurityGroup\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"AccountArrearage\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingGroupDiagnoseDetails', - 'translator' => 'machine', - ], - 'EnterStandby' => [ - 'summary' => 'Puts an Elastic Compute Service (ECS) instance into the Standby state.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ScaleWithAdjustment', + 'description' => '- Ensure the following conditions are met before calling this operation:'."\n" + ."\n" + .' - The scaling group is in the Active state.'."\n" + ."\n" + .' - No scaling activities are in progress in the scaling group.'."\n" + ."\n" + .'- This operation bypasses the cooldown to immediately execute a scaling activity, provided no other scaling activities are in progress.'."\n" + ."\n" + .'- If adding the specified ECS instances would cause the total capacity to exceed the maximum size, Auto Scaling sets the total capacity to the maximum size.'."\n" + ."\n" + .'- If removing the specified ECS instances would reduce the total capacity below the minimum size, Auto Scaling sets the total capacity to the minimum size.'."\n" + ."\n" + .'A successful response indicates that the API request was accepted, but this does not guarantee that the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the status of the scaling activity.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ScaleWithAdjustment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ActivityType\\": \\"CapacityChange\\",\\n \\"PlanResult\\": {\\n \\"ResourceAllocations\\": [\\n {\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"InstanceType\\": \\"ecs.u1-c1m8.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceChargeType\\": \\"PostPaid\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'SetGroupDeletionProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26653,63 +18734,87 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125322', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '125350', + 'abilityTreeNodes' => ['FEATUREessF87COY'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'* true: enables deletion protection. In this case, you cannot delete the scaling group by using the Auto Scaling console or calling an API operation. You must disable deletion protection before you can delete the scaling group.'."\n" + .'* false: disables deletion protection.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true'], ], [ - 'name' => 'ClientToken', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'InstanceIds', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7'], ], - 'required' => true, - 'maxItems' => 20, + 'description' => '', ], ], + ], + 'title' => 'SetGroupDeletionProtection', + 'summary' => 'Sets deletion protection for a scaling group. If you enable deletion protection for a scaling group, you cannot delete the scaling group. If you disable deletion protection for a scaling group, you can directly delete the scaling group. You can call the SetGroupDeletionProtection operation to enable or disable deletion protection.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetGroupDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA738B7\\"\\n}","type":"json"}]', + ], + 'SetInstanceHealth' => [ + 'summary' => 'Sets instance health. At times, the automatic health check system might not sufficiently determine the precise health status of your Elastic Compute Service (ECS) instances or elastic container instances. To overcome this, you can call the SetInstanceHealth operation to swiftly pinpoint problematic instances and resolve issues. This operation is designed to more precisely align with real-world business requirements and tackle O\\\\\\&M hurdles efficiently.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Async', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125393', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to asynchronously put the ECS instance into the Standby state. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'i-bp1ap6bro51a7fsa****', 'title' => ''], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => ['description' => 'The health status of the instance. Valid values:'."\n" + ."\n" + .'* Healthy: sets the instance as healthy.'."\n" + .'* Unhealthy: sets the instance as unhealthy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Healthy', 'title' => ''], ], ], 'responses' => [ @@ -26717,48 +18822,34 @@ '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 ID of the request.', 'type' => 'string', 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', - 'title' => 'EnterStandby', - 'description' => '## Description'."\n" - ."\n" - .'* If you call the operation to put an ECS instance in a scaling group that is associated with a Classic Load Balancer (CLB) instance into the Standby state, the weight of the ECS instance as a backend server of the CLB 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", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '|HTTP status code|Error code|Error message|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The error message returned because the RAM user is not authorized to call this operation. Contact the Alibaba Cloud account for the authorization and try again.|'."\n" - .'|404|InvalidInstanceId.NotFound|Instance “XXX” does not exist.|The error message returned because the specified ECS instance does not exist.|'."\n" - .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The error message returned because the specified scaling group does not exist.|', - ], - 'ExitStandby' => [ - 'summary' => 'Removes an instance from the Standby state. When a scale-in event is triggered in a scaling group, Auto Scaling does not remove Elastic Compute Service (ECS) instances or elastic container instances that are in the Standby state from the scaling group. If you want to restart the instances that are in the Standby state, you can call the ExitStandby operation to remove the instances from the Standby state and put them into the In Service state.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetInstanceHealth', + 'description' => '伸缩组会检测并移出处于不健康状态的ECS实例或ECI实例,如果您需要保留指定的ECS实例或ECI实例,请将ECS实例或ECI实例转入备用或者保护状态,更多信息,请参见[EnterStandby](~~459345~~)和[SetInstancesProtection](~~459342~~)。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstanceHealth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', + ], + 'SetInstancesProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26766,231 +18857,276 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125359', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '125377', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ '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.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ProtectedFromScaleIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true'], ], [ 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", + 'description' => 'The IDs of the ECS instances.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'items' => ['description' => 'The IDs of the ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], 'required' => true, 'maxItems' => 20, ], ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the instance from the Standby state in an asynchronous manner. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', - 'title' => 'ExitStandby', - 'description' => 'After ECS instances or elastic container instances are removed from the Standby state, the following rules apply:'."\n" - ."\n" - .'* The ECS instances or elastic container instances enter the In Service state.'."\n" - .'* The default weight of each ECS instance or elastic container instance as a backend server of the attached load balancer is 50.'."\n" - .'* If you stop or restart the ECS instances or elastic container instances, the health check status of the instances will be updated.'."\n" - .'* When a scale-in event is triggered, Auto Scaling may remove the ECS instances or elastic container instances from the scaling group.'."\n", - ], - 'RebalanceInstances' => [ - 'summary' => 'Rebalances the distribution of Elastic Compute Service (ECS) instances across zones. If ECS instances are unevenly distributed across multiple zones, you can call the RebalanceInstances operation to rebalance the distribution of the ECS instances across the zones.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetInstancesProtection', + 'summary' => 'Puts or removes Elastic Compute Service (ECS) instances into or from the Protected state. After you put an ECS instance into the Protected state, the ECS instance will not be stopped or released when a scale-in event is triggered. In this case, you can manually delete the ECS instance in the Auto Scaling console or by calling the RemoveInstances operation.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstancesProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'StartInstanceRefresh' => [ + 'summary' => 'Refreshes instances in a scaling group when you need to apply a new scaling configuration or update the image of instances in the scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125328', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234862', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU', 'FEATUREess8Q01K5'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'MinHealthyPercentage', + 'in' => 'query', + 'schema' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh. Valid values: 0 to 100.'."\n" + .'Default value: 80.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'MaxHealthyPercentage', + 'in' => 'query', + 'schema' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh. Valid values: 100 to 200.'."\n" + .'Default value: 120.'."\n" + ."\n" + .'> When MinHealthyPercentage = MaxHealthyPercentage = 100, one instance is refreshed at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'DesiredConfiguration', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ + 'description' => 'The desired configuration for the instance refresh.'."\n" + ."\n" + .'> - You cannot specify ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers at the same time. If this parameter is left empty, the currently active configuration of the scaling group is used for the refresh.'."\n" + .'> - After the instance refresh task is completed, the active scaling configuration of the scaling group is updated to this configuration.', 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.', - 'type' => 'string', - 'example' => 'asa-kjgffgdfadah****', + 'ImageId' => ['description' => 'The image ID.'."\n" + ."\n\n" + ."\n" + .'> - After the instance refresh task is completed, the image in the currently active configuration of the scaling group is updated to this image.'."\n" + .'> - This parameter is not supported when the instance configuration source of the scaling group is a launch template.'."\n" + .'> - Images that contain data cloud disks are not supported.', 'type' => 'string', 'required' => false, 'example' => 'm-2ze8cqacj7opnf***', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-2zed7lqn4ts4****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template. This parameter specifies that the scaling group obtains launch configuration information from the launch template.', 'type' => 'string', 'required' => false, 'example' => 'lt-2ze2qli30u***', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.'."\n" + ."\n" + .'> Rollback is not supported for instance refresh tasks when the version is set to Default or Latest.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.'."\n" + ."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.2xlarge', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'Containers' => [ + 'description' => 'The list of containers in the instance.'."\n" + ."\n" + .'> - This parameter is supported only for Elastic Container Instance (ECI) scaling groups.'."\n" + .'> - Only container configurations whose names match `Container.Name` in the current scaling configuration container list are refreshed.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain digits, letters, and underscores (\\_). It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin ', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is not publicly available.', 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'RebalanceInstances', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Auto Scaling creates new ECS instances to replace the existing ECS instances to fulfill the rebalancing purpose. Auto Scaling starts the new ECS instances before stopping the existing ECS instances. The rebalancing operation does not affect the performance or service availability of your application.'."\n" - ."\n" - .'* This operation is supported by only multi-zone scaling groups whose `MultiAZPolicy` is set to `BALANCE`.'."\n" - ."\n" - .'* A rebalancing operation is required only when the distribution of the instances of a multi-zone scaling group is significantly unbalanced. In a rebalancing activity, Auto Scaling replaces up to 20 ECS instances to rectify the unbalanced distribution.'."\n" - ."\n" - .'* During the execution of a rebalancing operation, if the number of instances in the scaling group approaches or hits the value of MaxSize but the rebalancing operation needs to continue, Auto Scaling allows the total number of ECS instances to momentarily exceed the value of MaxSize by 10%. This temporary surplus condition persists for a duration until equilibrium in the distribution of ECS instances is achieved. Typically, it takes 1 to 6 minutes.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If the 10% increment of the maximum number of instances in a scaling group yield a non-integer value, the decimal portion is always rounded up to ensure an additional instance is accounted for. For example, you have a scaling group that holds a maximum of 15 ECS instances. During a rebalancing operation, Auto Scaling would permit the total number of instances to momentarily surpass this limit by 2, instead of the calculated 10% (which is 1.5).'."\n", - ], - 'SetInstanceHealth' => [ - 'summary' => 'Sets instance health. At times, the automatic health check system might not sufficiently determine the precise health status of your Elastic Compute Service (ECS) instances or elastic container instances. To overcome this, you can call the SetInstanceHealth operation to swiftly pinpoint problematic instances and resolve issues. This operation is designed to more precisely align with real-world business requirements and tackle O\\\\\\&M hurdles efficiently.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125393', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', + 'name' => 'SkipMatching', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to skip instances that match the desired configuration.'."\n" + ."\n" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Instances that were already created with the desired configuration are skipped.'."\n" + .'- false: All instances in the scaling group at the time the refresh task starts are refreshed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'Checkpoints', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp1ap6bro51a7fsa****', + 'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for CheckpointPauseTime minutes when the percentage of new instances reaches the specified value during the instance refresh.', + 'type' => 'array', + 'items' => [ + 'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for `CheckpointPauseTime` minutes when the percentage of new instances reaches the specified value during the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances to total instances in the scaling group at which the task is automatically paused. Valid values: 1 to 100 (%).'."\n" + ."\n" + .'> The values must be specified in ascending order, and the last percentage value must be 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HealthStatus', + 'name' => 'CheckpointPauseTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the instance. Valid values:'."\n" - ."\n" - .'* Healthy: sets the instance as healthy.'."\n" - .'* Unhealthy: sets the instance as unhealthy.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Healthy', - ], + 'schema' => ['description' => 'The duration for which the task is paused when a checkpoint is reached.'."\n" + .'- Unit: minutes.'."\n" + .'- Valid values: 1 to 2880.'."\n" + .'- Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Strategy', + 'in' => 'query', + 'schema' => ['description' => 'The execution strategy for the instance refresh task. Valid values:'."\n" + ."\n" + .'- Rolling: The instance refresh task creates new instances and releases old instances to refresh instances.'."\n" + ."\n" + .'- ReplaceSystemDisk: The system cloud disk of existing instances is replaced by specifying DesiredConfiguration.image to update the system cloud disk.'."\n" + ."\n" + .'Default value: Rolling.', 'type' => 'string', 'required' => false, 'example' => 'Rolling', 'title' => ''], ], ], 'responses' => [ @@ -26998,29 +19134,39 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', - 'title' => 'SetInstanceHealth', - 'description' => 'Auto Scaling detects and removes unhealthy ECS instances or elastic container instances from their scaling groups. To prevent a specific instance from being removed, you can put it in either the Standby or Protected state. For more information, see [EnterStandby](~~459345~~) and [SetInstancesProtection](~~459342~~).'."\n", - ], - 'SetInstancesProtection' => [ - 'summary' => 'Puts or removes Elastic Compute Service (ECS) instances into or from the Protected state. After you put an ECS instance into the Protected state, the ECS instance will not be stopped or released when a scale-in event is triggered. In this case, you can manually delete the ECS instance in the Auto Scaling console or by calling the RemoveInstances operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', + 'title' => 'Start an instance refresh task', + 'description' => '- Only one instance refresh node can run in a scaling group at a time.'."\n" + .'- This feature supports only ECS scaling groups whose scale-out policy is set to **Priority Policy**. Scaling groups that use **vCPU-based Capacity Calculation** and scaling groups whose instance revoke pattern is set to **Shutdown and Revoke Pattern** or **Forced Shutdown and Revoke Pattern** do not support this feature.'."\n" + .'- During an instance refresh, normal scale-out and scale-in operations can be performed. However, scale-out operations use the desired configuration of the instance refresh.'."\n" + .'- Instances that are manually added to the scaling group, instances in the standby state, and instances in the protection status are ignored by the instance refresh node and do not participate in the instance refresh.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'SuspendInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -27028,51 +19174,24 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125377', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '234876', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'ProtectedFromScaleIn', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceIds', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'], ], ], 'responses' => [ @@ -27080,138 +19199,121 @@ '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.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'SetInstancesProtection', - 'description' => 'Once ECS instances enter the Protected state, they become subject to the following restrictions:'."\n" - ."\n" - .'* ECS instances will persist in the Protected state, unless you deliberately remove them from this state.'."\n" - .'* Even in scenarios where automatic scale-in actions are initiated due to fluctuations in the number of ECS instances or the execution of event-triggered tasks, Auto Scaling does not remove ECS instances that are in the Protected state from their respective scaling groups. Only after being manually removed from their respective scaling groups can ECS instances that are in the Protected state be released. For more information, see [Remove an ECS instance](~~459393~~).'."\n" - .'* ECS instances in the Protected state maintain their health status even when they undergo stopping or restarting processes.'."\n", - ], - 'DescribeRegions' => [ - 'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched. This preliminary step facilitates the strategic selection of both the optimal region and availability zones for activating Auto Scaling, thereby guaranteeing the finest access speeds and operational efficiency within your chosen geographical area.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SuspendInstanceRefresh', + 'summary' => 'Suspends an instance refresh task. If you are not sure that you want to roll back an ongoing instance refresh task whose configurations you think has an issue, you can call the SuspendInstanceRefresh operation to suspend the task.', + 'description' => '* You cannot call this operation to suspend an instance refresh task that is being rolled back.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'SuspendProcesses' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125375', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '125380', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], ], 'parameters' => [ [ - 'name' => 'AcceptLanguage', + 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], + ], + [ + 'name' => 'Processes', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The language for the response. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" + 'description' => 'The types of processes that you want to suspend. Valid values:'."\n" ."\n" - .'* zh-CN: Chinese'."\n" - .'* en-US: English'."\n" - .'* ja: Japanese'."\n" + .'* ScaleIn: the scale-in process.'."\n" + .'* ScaleOut: the scale-out process.'."\n" + .'* HealthCheck: the health check process.'."\n" + .'* AlarmNotification: the process of executing an event-triggered task.'."\n" + .'* ScheduledAction: the process of executing a scheduled task.'."\n" ."\n" - .'Default value: zh-CN.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', + .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The type of the process that you want to suspend. Valid values:'."\n" + ."\n" + .'* ScaleIn: the scale-in process.'."\n" + .'* ScaleOut: the scale-out process.'."\n" + .'* HealthCheck: the health check process.'."\n" + .'* AlarmNotification: the process of executing an event-triggered task.'."\n" + .'* ScheduledAction: the process of executing a scheduled task.'."\n" + ."\n" + .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleIn'], + 'required' => true, + 'maxItems' => 100, ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'Regions' => [ - 'description' => 'The collection of region information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the regions.'."\n", - 'type' => 'object', - 'properties' => [ - 'ClassicUnavailable' => [ - 'description' => 'Indicates whether the current region supports scaling groups that reside in the classic network. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionEndpoint' => [ - 'description' => 'The region endpoint.'."\n", - 'type' => 'string', - 'example' => 'ess.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => 'The region name.'."\n", - 'type' => 'string', - 'example' => 'China (Beijing)'."\n", - ], - 'VpcUnavailable' => [ - 'description' => 'Indicates whether the current region supports scaling groups that reside in virtual private clouds (VPCs). Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2(北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeRegions', + 'title' => 'SuspendProcesses', + 'summary' => 'Suspends scaling processes. This operation empowers you to selectively pause distinct scaling processes within a particular scaling group, enabling you to carry out alternative tasks and achieve more granular management over your scaling operations.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB51****\\"\\n}","type":"json"}]', ], 'TagResources' => [ - 'summary' => 'Creates and adds tags. You can call the TagResources operation to uniformly create and attach tags to your Auto Scaling resources, streamlining resource management. This capability empowers you to categorize resources based on tags, thereby enhancing the overall efficiency of resource allocation and utilization.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27220,30 +19322,18 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '125392', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'], ], [ 'name' => 'ResourceIds', @@ -27252,12 +19342,7 @@ 'schema' => [ 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the Auto Scaling resource.', - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2zej7nf7hea77k5a****', - ], + 'items' => ['description' => 'The ID of the Auto Scaling resource.', 'type' => 'string', 'required' => false, 'example' => 'asg-2zej7nf7hea77k5a****'], 'required' => true, 'maxItems' => 51, ], @@ -27273,33 +19358,18 @@ 'description' => 'The tag that you want to add to the Auto Scaling resources.'."\n", 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n" - ."\n" - .'You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n" - ."\n" - .'You can specify empty strings as tag values. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - 'Propagate' => [ - 'description' => 'Specifies whether to propagate the tag that you want to add. Valid values:'."\n" - ."\n" - .'* true: propagates the tag to new instances.'."\n" - .'* false: does not propagate the tag to any instance.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'Key' => ['description' => 'The tag key.'."\n" + ."\n" + .'You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => 'The tag value.'."\n" + ."\n" + .'You can specify empty strings as tag values. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + 'Propagate' => ['description' => 'Specifies whether to propagate the tag that you want to add. Valid values:'."\n" + ."\n" + .'* true: propagates the tag to new instances.'."\n" + .'* false: does not propagate the tag to any instance.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], 'required' => false, ], @@ -27313,17 +19383,14 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '74C4E313-8570-479F-8791-DC25360D****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', 'title' => 'TagResources', + 'summary' => 'Creates and adds tags. You can call the TagResources operation to uniformly create and attach tags to your Auto Scaling resources, streamlining resource management. This capability empowers you to categorize resources based on tags, thereby enhancing the overall efficiency of resource allocation and utilization.', 'description' => '* You can attach up to 20 tags to a scaling group.'."\n" ."\n" .' **'."\n" @@ -27336,187 +19403,24 @@ ."\n" .' * Instances set to join the scaling group will inherit the following tags: tags attached to the scaling configuration that initiates the instance creation and tags attached to the scaling group that are allowed to propagate to these instances upon instance creation.'."\n" .' * If the tag keys of the scaling configuration and those attached to the scaling group and propagated to the instances are identical, the tags attached to the scaling group and propagated to the instances will be overwritten by the tags of the scaling configuration.'."\n", - ], - 'ListTagResources' => [ - 'summary' => 'Queries tags. You can call the ListTagResources operation to query tags that are added to Auto Scaling resources, thereby clarifying resource utilization and facilitating efficient resource management. This operation aids in the automation of resource categorization and permission management processes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125324', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~2679950~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the next query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], - ], - [ - 'name' => 'ResourceIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' asg-bp17xb4x1vr29lgt****', - ], - 'required' => false, - 'maxItems' => 51, - ], - ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. The key is used to perform an exact match of Auto Scaling resources. The key must be 1 to 128 characters in length.'."\n" - ."\n" - .'`Tags` is used to perform an exact match of Auto Scaling resources to which the specified tags are added. Specify a tag in the key-value pair format.'."\n" - ."\n" - .'* If you specify only `Tags.Key`, all resources whose tags contain the specified tag key are returned.'."\n" - .'* If you specify only `Tags.Value`, the `MissingParameter.TagKey` error is reported.'."\n" - .'* If you specify multiple key-value pairs at the same time, only Auto Scaling resources that match all the tag keys and tag values are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of the tag. The value is used to perform an exact match of Auto Scaling resources. The value can be up to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 21, ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response that is returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that determines the start point of the next query.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****', - ], - 'TagResources' => [ - 'description' => 'An array that encompasses both the resource details and its tags, comprising elements like the resource ID, the resource type, the tag key, and the tag value.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the resource and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value of the resource.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ESS::SCALINGGROUP', - ], - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - 'TagKey' => [ - 'description' => 'The tag key of the resource.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'Propagate' => [ - 'description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" - ."\n" - .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" - .'* false: The tags of the scaling group cannot be propagated to instances.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagResources', - 'description' => '* Specify at least one of the following request parameters: `ResourceIds` and `Tags`. `Tags.Key` and `Tags.Value` are used to specify the query objects.'."\n" - .'* If you provide both `ResourceIds` and `Tags` in your request, the response will exclusively include Auto Scaling resources that satisfy the criteria set by these parameters, ensuring targeted and precise information retrieval.'."\n", ], 'UntagResources' => [ - 'summary' => 'Removes tags from Auto Scaling resources simultaneously. This operation streamlines resource management activities, enhances system efficiency, and mitigates potential security vulnerabilities. Once a tag is removed from a particular resource, and if it is not re-added to any other resource, the system will automatically delete the unused tag.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27525,45 +19429,28 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '125327', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'], ], [ 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceIds', @@ -27572,12 +19459,7 @@ 'schema' => [ 'description' => 'The resource IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], + 'items' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****'], 'required' => true, 'maxItems' => 51, ], @@ -27589,12 +19471,7 @@ 'schema' => [ 'description' => 'The tag keys.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], + 'items' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], 'required' => false, 'maxItems' => 21, ], @@ -27605,11 +19482,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****'], ], 'description' => '', ], @@ -27617,75 +19490,45 @@ ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]', 'title' => 'UntagResources', - ], - 'ListTagKeys' => [ - 'summary' => 'Queries the tag keys added to Auto Scaling resources. Querying tag keys facilitates easier classification, identification, and monitoring of your Auto Scaling resources, thereby enhancing the flexibility and convenience of your resource management processes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Removes tags from Auto Scaling resources simultaneously. This operation streamlines resource management activities, enhances system efficiency, and mitigates potential security vulnerabilities. Once a tag is removed from a particular resource, and if it is not re-added to any other resource, the system will automatically delete the unused tag.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'VerifyAuthentication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'deprecated' => false, + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resources. Set the value to `scalinggroup`. This means the tag key you want to query is added to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', + 'name' => 'Uid', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The ID of your Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678123*****'], ], [ - 'name' => 'PageSize', + 'name' => 'OnlyCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to check only the authorization status. Valid values:'."\n" + ."\n" + .'* true: checks only the authorization status. The service-linked role is not created.'."\n" + .'* false (default): checks the authorization status and resource usage.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -27693,181 +19536,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Keys' => [ - 'description' => 'Details of the tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tag keys.'."\n", - 'type' => 'string', - 'example' => 'ESS', - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": [\\n \\"ESS\\"\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagKeys', - ], - 'ListTagValues' => [ - 'summary' => 'Queries the tag keys associated with Auto Scaling resources to facilitate a deeper comprehension of those resources. By doing so, you can categorize and manage your Auto Scaling resources more efficiently.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup. This indicates that the tag is added to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Key', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ESS', - ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UserNotAuthorizeEss', 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', 'description' => ''], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Values' => [ - 'description' => 'Details of the tag values.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tag values.'."\n", - 'type' => 'string', - 'example' => 'Doc', - ], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'VerifyAuthentication', + 'summary' => 'Checks whether the specified Alibaba Cloud account assumes the AliyunServiceRoleForAutoScaling service-linked role. An account can be used to operate Elastic Compute Service (ECS) instances and elastic container instances only after it assumes the service-linked role.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": [\\n \\"Doc\\"\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagValues', ], 'VerifyUser' => [ 'summary' => 'Verifies whether Auto Scaling is activated. This operation guarantees that in response to shifts in business workloads or variations in incoming traffic, the system will automatically adjust resource provisioning. This auto-scaling capability enhances the overall system performance, ensuring high availability and improved flexibility to accommodate dynamic demands.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -27875,14 +19587,9 @@ 'name' => 'RegionId', 'in' => 'query', 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the region where Auto Scaling is required.'."\n" - ."\n" - .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where Auto Scaling is required.'."\n" + ."\n" + .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -27892,1550 +19599,1648 @@ 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', 'title' => 'VerifyUser', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'operationType' => 'read', ], - 'VerifyAuthentication' => [ - 'methods' => [ - 'post', - 'get', + ], + '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' => [], + 'ram' => [ + 'productCode' => 'AutoScaling', + 'productName' => 'Auto Scaling', + 'ramCodes' => ['ess'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribeUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'Uid', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of your Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12345678123*****', + [ + 'apiName' => 'DeactivateScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OnlyCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to check only the authorization status. Valid values:'."\n" - ."\n" - .'* true: checks only the authorization status. The service-linked role is not created.'."\n" - .'* false (default): checks the authorization status and resource usage.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'UserNotAuthorizeEss', - 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'VerifyAuthentication', - 'summary' => 'Checks whether the specified Alibaba Cloud account assumes the AliyunServiceRoleForAutoScaling service-linked role. An account can be used to operate Elastic Compute Service (ECS) instances and elastic container instances only after it assumes the service-linked role.', - ], - 'DescribeLimitation' => [ - 'summary' => 'Queries resource quotas. For example, you can call the DescribeLimitation operation to query the maximum numbers of scheduled tasks that you can create in a scaling group, load balancers that you can attach to a scaling group, instances that you can add to a scaling group, and scaling configurations that you can create in a scaling group.', - 'methods' => [ - 'post', - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeRegions', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'MaxNumberOfScheduledTasks' => [ - 'description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'MaxNumberOfLoadBalancers' => [ - 'description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfMaxSize' => [ - 'description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfAlbServerGroup' => [ - 'description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfNlbServerGroup' => [ - 'description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfDBInstances' => [ - 'description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfScalingConfigurations' => [ - 'description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - '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' => '10', - ], - 'MaxNumberOfScalingInstances' => [ - 'description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be automatically scaled in a scaling group at the same time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'MaxNumberOfScalingGroups' => [ - 'description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', - ], - '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 CLB vServer groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxNumberOfScalingRules' => [ - 'description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]', - 'title' => 'DescribeLimitation', - ], - 'ModifyInstanceAttribute' => [ - 'summary' => 'Modifies the information of an Elastic Compute Service (ECS) instance. When you call the ModifyInstanceAttribute operation, you can specify attributes such as the instance ID, scaling group ID, and region ID to modify the attributes of an ECS instance in a scaling group. You can modify only the hosting attributes of instances that are manually added to scaling groups.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'DetachAlbServerGroups', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '201544', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', + [ + '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}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + '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}'], ], ], - [ - 'name' => 'Entrusted', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allow the scaling group to manage the lifecycles of the manually added ECS instances. Valid values:'."\n" - ."\n" - .'* true: allows the scaling group to manage the lifecycles of the manually added ECS instances. The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" - .'* false: does not allow the scaling group to manage the lifecycles of the manually added ECS instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" - ."\n" - .'> You can specify this parameter only for ECS instances that are manually added to the scaling group.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', + ], + [ + '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}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'DescribeNotificationTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'required' => false, - 'maxItems' => 20, + ], + [ + 'apiName' => 'QueryPredictiveTaskInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveTaskInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyInstanceAttribute', - ], - 'DescribeAlertConfiguration' => [ - 'summary' => 'Queries the status of scaling activities that trigger text message, internal message, or email-based notifications. When you call the DescribeAlertConfiguration operation, you must specify the scaling group ID and region ID to query the status of the desired scaling activities. A scaling activity can be in one of the following states: Successful, Failed, and Rejected.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeCapacityHistory', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeCapacityHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeLimitation', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeScalingGroupDetail', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '208814', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + [ + '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}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScaleStatuses' => [ - 'description' => 'The status of the scaling activities that trigger text message, internal message, or email-based notifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n" - ."\n" - .'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n" - .'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n" - .'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", - 'type' => 'string', - 'example' => 'ScaleSuccessful', - ], - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeAlertConfiguration', - ], - 'ModifyAlertConfiguration' => [ - 'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'CreateDiagnoseReport', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ModifyScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DeleteDiagnoseReport', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'DescribeScalingActivities', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CancelInstanceRefresh', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '208812', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessLTO4TI', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', + [ + 'apiName' => 'QueryPredictiveMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScaleStatuses', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The status of the scaling activities that prompt text message or email notifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the scaling activity that prompts text message or email notifications. Valid values:'."\n" - ."\n" - .'* ScaleSuccessful: The scaling activity is successful.'."\n" - .'* ScaleRejected: The scaling activity is rejected.'."\n" - .'* ScaleFailed: The scaling activity failed.'."\n" - ."\n" - .'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleSuccessful', - ], - 'required' => false, - 'maxItems' => 10, + ], + [ + '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}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + 'apiName' => 'DescribeAlarms', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyAlertConfiguration', - ], - 'DescribeInstanceCreateAndDeleteStatistics' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeScalingGroupDiagnoseDetails', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDiagnoseDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'ApplyEciScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryPredictiveValue', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '221449', - 'abilityTreeNodes' => [ - 'FEATUREessJ54CHK', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + '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}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2ze4057nqfbxxxxxxxx', + ], + [ + 'apiName' => 'DescribeScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-15T08:00Z'."\n", + ], + [ + 'apiName' => 'DescribeScalingActivityStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + '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/*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', - ], - 'InstanceCreateAndDeleteStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Statistic' => [ - 'description' => 'Metrics for instance creation and deletion.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Metrics for instance creation and deletion.'."\n", - 'type' => 'object', - 'properties' => [ - 'DestroyedVmCount' => [ - 'description' => 'The number of released instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'CreatedVmCount' => [ - 'description' => 'The number of new instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - 'StoppedVmCount' => [ - 'description' => 'The number of instances that are stopped in economical mode.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'StartedVmCount' => [ - 'description' => 'The number of instances that are started from economical mode.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DetachDBInstances', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\",\\n \\"InstanceCreateAndDeleteStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"DestroyedVmCount\\": 34,\\n \\"CreatedVmCount\\": 12,\\n \\"Time\\": \\"2025121623\\",\\n \\"StoppedVmCount\\": 10,\\n \\"StartedVmCount\\": 5\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeInstanceCreateAndDeleteStatistics', - 'summary' => 'Instance creation and deletion statistics.', - ], - 'QueryPredictiveValue' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeInstanceCreateAndDeleteStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'VerifyUser', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribePatternTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221690', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + [ + '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}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + '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}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z'."\n", + ], + [ + '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}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'ListTagValues', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-2zee0wsy0zkdxxxxx', + ], + [ + '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}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + 'apiName' => 'DescribeElasticStrength', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TargetValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The current value of the monitoring metric of the prediction rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '60', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'FA5F448E-DC84-5EBC-B6D5-F659ADxxxx', - ], - 'PredictiveValues' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PredictiveValue' => [ - 'description' => 'The number of predicted instances in the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The number of predicted instances in the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The point in time, in the ISO 8601 standard, in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T10:00Z', - ], - 'Value' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA5F448E-DC84-5EBC-B6D5-F659ADxxxx\\",\\n \\"PredictiveValues\\": {\\n \\"PredictiveValue\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"Value\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'QueryPredictiveValue', - 'summary' => 'Queries the predicted number of instances in a scaling group.', - ], - 'QueryHistoricalMetric' => [ - 'methods' => [ - 'post', - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'DescribeScalingActivityDetail', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '221688', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'ApplyScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z', + ], + [ + '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}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + '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}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', + ], + [ + '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}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + 'apiName' => 'ListTagKeys', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'HistoricalMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HistoricalMetric' => [ - 'description' => 'The monitoring metrics of the prediction rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The monitoring metrics of the prediction rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricValue' => [ - 'description' => 'The value of the metric.'."\n", - 'type' => 'string', - 'example' => '10.0', - ], - 'Time' => [ - 'description' => 'The point in time of the monitoring metric. The value must be in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T16:00Z', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"HistoricalMetrics\\": {\\n \\"HistoricalMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'QueryHistoricalMetric', - 'summary' => 'Queries the historical monitoring data of a scaling group that uses predictive scaling rules.', - ], - 'QueryPredictiveTaskInfo' => [ - 'methods' => [ - 'post', - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221691', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + [ + '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}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + '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}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z', + ], + [ + '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}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + '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}'], ], ], - [ - 'name' => 'ScalingRuleId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the prediction scaling rule.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp1dp8yd9f8xxxxx', + ], + [ + 'apiName' => 'QueryHistoricalMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryHistoricalMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TaskInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TaskInfo' => [ - 'description' => 'The scheduled task generated by the prediction rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scheduled task generated by the prediction rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The point in time at which the scheduled task is triggered. The value follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T10:00Z', - ], - 'MinValue' => [ - 'description' => 'The minimum size of the scaling group that you want to create.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxValue' => [ - 'description' => 'The maximum size of the scaling group that you want to create.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TaskInfos\\": {\\n \\"TaskInfo\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"MinValue\\": 2,\\n \\"MaxValue\\": 10\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'QueryPredictiveTaskInfo', - 'summary' => 'Queries the information about a prediction task.', - ], - 'QueryPredictiveMetric' => [ - 'methods' => [ - 'post', - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'RecordLifecycleActionHeartbeat', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221689', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + [ + '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}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + '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}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z'."\n", + ], + [ + '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}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z'."\n", + ], + [ + '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}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + ], + [ + '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}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'PredictiveMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PredictiveMetric' => [ - 'description' => 'Predicted monitoring metrics.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Predicted monitoring metrics.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricValue' => [ - 'description' => 'Predicted monitoring value.'."\n", - 'type' => 'string', - 'example' => '10.0', - ], - 'Time' => [ - 'description' => 'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T16:00Z', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PredictiveMetrics\\": {\\n \\"PredictiveMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'QueryPredictiveMetric', - 'summary' => 'Queries predicted monitoring data.', - ], - 'DeleteDiagnoseReport' => [ - 'summary' => 'Deletes a health diagnosis report for a scaling group.', - 'methods' => [ - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DeleteLifecycleHook', + 'description' => '', 'operationType' => 'delete', - 'abilityTreeCode' => '221454', - 'abilityTreeNodes' => [ - 'FEATUREessXZ2M1E', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'CreateScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ReportId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dr-j6c7wvdzk5103xxxxx', + ], + [ + 'apiName' => 'DescribeEciScalingConfigurationDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurationDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + [ + '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}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteDiagnoseReport', - ], - 'DescribeScalingActivityStatistics' => [ - 'methods' => [ - 'post', - 'get', + [ + '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}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + '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}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + '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}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeDiagnoseReports', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '221448', - 'abilityTreeNodes' => [ - 'FEATUREessL0GZCK', + 'ramAction' => [ + 'action' => 'ess:DescribeDiagnoseReports', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + '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}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-8vbje5pofxxxxxxxx', + ], + [ + '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}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-15T08:00Z', + ], + [ + '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}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'VerifyAuthentication', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric on which the scaling activity is counted. Valid values:'."\n" - ."\n" - .'* ScalingActivityStatus: collects statistics on the distribution of scaling activities in different states within a time range.'."\n" - .'* ScalingActivityErrorCodes: the distribution of error codes in failed scaling activities within a time range.'."\n" - ."\n" - .'Default value: ScalingActivityStatus.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingActivityStatus', + ], + [ + '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}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'A8F44B4D-BAB4-5176-8705-5984xxxxx', - ], - 'ScalingActivityStatusStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Statistic' => [ - 'description' => 'The statistical metrics of the scaling activity status.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The statistical metrics of the scaling activity status.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - 'SuccessActivityCount' => [ - 'description' => 'The number of successful scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'FailedActivityCount' => [ - 'description' => 'The number of failed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'WarningActivityCount' => [ - 'description' => 'The number of partially executed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - ], - ], - ], - ], - ], - 'ScalingActivityErrorCodeStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ErrorStatistic' => [ - 'description' => 'The error message statistics of the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The error message statistics of the scaling activity.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrorCode' => [ - 'description' => 'Scaling Activity Error Codes'."\n", - 'type' => 'string', - 'example' => 'QuotaExceeded.PrivateIpAddress', - ], - 'Count' => [ - 'description' => 'The number of failed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DeleteEciScalingConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeScalingInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLifecycleActions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAlarm', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8F44B4D-BAB4-5176-8705-5984xxxxx\\",\\n \\"ScalingActivityStatusStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"Time\\": \\"2025121623\\",\\n \\"SuccessActivityCount\\": 10,\\n \\"FailedActivityCount\\": 1,\\n \\"WarningActivityCount\\": 2\\n }\\n ]\\n },\\n \\"ScalingActivityErrorCodeStatistics\\": {\\n \\"ErrorStatistic\\": [\\n {\\n \\"ErrorCode\\": \\"QuotaExceeded.PrivateIpAddress\\",\\n \\"Count\\": 4,\\n \\"Time\\": \\"2025121623\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeScalingActivityStatistics', - 'summary' => 'The distribution of scaling activities in different states over a period of time.', - ], - ], - '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', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'ess.me-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', - ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'ess.na-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu-gic-1', - 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'ess.aliyuncs.com', ], - [ - '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/*'], ], ], ]; |
