diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/ess/2022-02-22 | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/ess/2022-02-22')
| -rw-r--r-- | data/en_us/ess/2022-02-22/api-docs.php | 29441 |
1 files changed, 29441 insertions, 0 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 new file mode 100644 index 0000000..2c8d7e0 --- /dev/null +++ b/data/en_us/ess/2022-02-22/api-docs.php @@ -0,0 +1,29441 @@ +<?php return [ + 'version' => '1.0', + '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', + ], + ], + [ + 'id' => 172353, + 'title' => 'Scaling configurations', + 'type' => 'directory', + 'children' => [ + 'CreateScalingConfiguration', + 'DescribeScalingConfigurations', + 'ModifyScalingConfiguration', + 'DeleteScalingConfiguration', + 'CreateEciScalingConfiguration', + 'DescribeEciScalingConfigurations', + 'DescribeEciScalingConfigurationDetail', + 'ModifyEciScalingConfiguration', + 'ApplyEciScalingConfiguration', + 'DeleteEciScalingConfiguration', + 'DescribePatternTypes', + ], + ], + [ + 'id' => 172361, + 'title' => 'Scaling rules', + 'type' => 'directory', + 'children' => [ + 'CreateScalingRule', + 'ModifyScalingRule', + 'DescribeScalingRules', + 'DeleteScalingRule', + ], + ], + [ + 'id' => 172367, + 'title' => 'Scaling tasks', + 'type' => 'directory', + 'children' => [ + 'ExecuteScalingRule', + 'ScaleWithAdjustment', + 'AttachInstances', + 'RemoveInstances', + 'DetachInstances', + ], + ], + [ + 'id' => 172370, + 'title' => 'Scheduled tasks', + 'type' => 'directory', + 'children' => [ + 'CreateScheduledTask', + 'ModifyScheduledTask', + 'DescribeScheduledTasks', + 'DeleteScheduledTask', + ], + ], + [ + 'id' => 172375, + 'title' => 'Event-triggered tasks', + 'type' => 'directory', + 'children' => [ + 'CreateAlarm', + 'DescribeAlarms', + 'ModifyAlarm', + 'EnableAlarm', + 'DisableAlarm', + 'DeleteAlarm', + ], + ], + [ + 'id' => 196165, + 'title' => 'Instance refresh', + 'type' => 'directory', + 'children' => [ + 'DescribeInstanceRefreshes', + 'StartInstanceRefresh', + 'CancelInstanceRefresh', + 'RollbackInstanceRefresh', + 'SuspendInstanceRefresh', + 'ResumeInstanceRefresh', + ], + ], + [ + 'id' => 172382, + 'title' => 'Lifecycle hooks', + 'type' => 'directory', + 'children' => [ + 'CreateLifecycleHook', + 'ModifyLifecycleHook', + 'DescribeLifecycleHooks', + 'RecordLifecycleActionHeartbeat', + 'DescribeLifecycleActions', + 'CompleteLifecycleAction', + 'DeleteLifecycleHook', + ], + ], + [ + 'id' => 172390, + 'title' => 'Event notifications', + 'type' => 'directory', + 'children' => [ + 'CreateNotificationConfiguration', + 'ModifyNotificationConfiguration', + 'DescribeNotificationConfigurations', + 'DeleteNotificationConfiguration', + 'DescribeNotificationTypes', + ], + ], + [ + 'id' => 199238, + 'title' => 'Health diagnosis', + 'type' => 'directory', + 'children' => [ + 'CreateDiagnoseReport', + 'DescribeDiagnoseReports', + 'DescribeScalingGroupDiagnoseDetails', + ], + ], + [ + 'id' => 172396, + 'title' => 'Instances', + 'type' => 'directory', + 'children' => [ + 'EnterStandby', + 'ExitStandby', + 'RebalanceInstances', + 'SetInstanceHealth', + 'SetInstancesProtection', + ], + ], + [ + 'id' => 172402, + 'title' => 'Regions', + 'type' => 'directory', + 'children' => [ + 'DescribeRegions', + ], + ], + [ + 'id' => 172404, + 'title' => 'Tags', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'ListTagResources', + 'UntagResources', + 'ListTagKeys', + 'ListTagValues', + ], + ], + [ + 'id' => 188157, + 'title' => 'Other', + 'type' => 'directory', + 'children' => [ + 'VerifyUser', + 'VerifyAuthentication', + 'DescribeLimitation', + 'ModifyInstanceAttribute', + 'DescribeAlertConfiguration', + 'ModifyAlertConfiguration', + 'DescribeInstanceCreateAndDeleteStatistics', + 'QueryPredictiveValue', + 'QueryHistoricalMetric', + 'QueryPredictiveTaskInfo', + 'QueryPredictiveMetric', + 'DeleteDiagnoseReport', + 'DescribeScalingActivityStatistics', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125385', + 'abilityTreeNodes' => [ + 'FEATUREessGIWHSQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scaling group. The name 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', + '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****', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'MaxSize', + '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', + ], + ], + [ + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the CLB instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple CLB instance IDs. Separate multiple IDs with commas (,).'."\n" + ."\n" + .'You can associate only a limited number of CLB instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of CLB instances that you can associate with a scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', + ], + ], + [ + 'name' => 'DBInstanceIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" + ."\n" + .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', + ], + ], + [ + 'name' => 'RemovalPolicies', + 'in' => 'query', + 'style' => 'repeatList', + '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', + ], + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DesiredCapacity', + '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', + ], + ], + [ + 'name' => 'GroupDeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" + .'* false: disables deletion protection for the scaling group.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'GroupType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" + ."\n" + .'* ECS: ECS instances.'."\n" + .'* ECI: elastic container instances.'."\n" + ."\n" + .'Default value: ECS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ECS', + ], + ], + [ + 'name' => 'ContainerGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the elastic container instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eci-uf6fonnghi50u374****', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of 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, + ], + ], + [ + 'name' => 'LifecycleHooks', + '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, + ], + ], + [ + 'name' => 'VServerGroups', + '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, + ], + ], + [ + 'name' => 'Tags', + '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, + ], + ], + [ + 'name' => 'LaunchTemplateOverrides', + '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, + ], + ], + [ + 'name' => 'AlbServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Application Load Balancer (ALB) server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the ALB server group that you want to associate with the scaling 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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + '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, + ], + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + '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******', + ], + ], + [ + 'name' => 'LoadBalancerConfigs', + '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, + ], + ], + [ + 'name' => 'HealthCheckTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The health check mode of the scaling group.'."\n" + ."\n" + .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify `HealthCheckType`, this parameter is ignored.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The health check modes of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" + ."\n" + .'Default value: ECS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ECS', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'DBInstances', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The databases 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" + ."\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', + ], + ], + [ + '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 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, + ], + ], + [ + '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, 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', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ResourceNotAvailable.VPCNetwork', + 'errorMessage' => 'The specified zone does not support vpc network or sold out.', + ], + ], + ], + '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", + ], + 'ModifyScalingGroup' => [ + 'summary' => 'Modifies a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can modify scaling groups to adjust your computing power with ease. The computing power refers to the instances that provide the computing capability. When your scaling group cannot meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum, minimum, and expected numbers of instances. This prevents repeated creation and configuration of scaling groups, which saves you a lot of time and resource costs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125326', + 'abilityTreeNodes' => [ + 'FEATUREessXN6KX4', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + ], + [ + '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', + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DefaultCooldown', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cooldown period of the scaling group. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '86400', + 'minimum' => '0', + 'example' => '600', + ], + ], + [ + 'name' => 'RemovalPolicies', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" + ."\n" + .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" + ."\n" + .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NewestInstance', + ], + '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" + ."\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', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => ' lt-m5e3ofjr1zn1aw7****', + ], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the launch template. Valid values:'."\n" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: The default template version is always used.'."\n" + .'* Latest: The latest template version is always used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of vSwitches.'."\n" + ."\n" + .'This parameter takes effect only when the network type of the scaling group is virtual private cloud (VPC). The specified vSwitches and the scaling group must reside in the same VPC.'."\n" + ."\n" + .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of vSwitches.'."\n" + ."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches and the scaling group must reside in the same VPC.'."\n" + ."\n" + .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1oo2a7isyrb8igf****', + ], + 'required' => false, + 'maxItems' => 8, + ], + ], + [ + 'name' => 'LaunchTemplateOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" + ."\n" + .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" + ."\n" + .'You can use this parameter to specify any instance types that are available for purchase.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c5.xlarge '."\n", + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DisableDesiredCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'HealthCheckTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The health check mode of the scaling group.'."\n" + ."\n" + .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The health check modes of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" + ."\n" + .'Default value: ECS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ECS', + ], + '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" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + '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', + ], + ], + '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', + ], + ], + ], + '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' => '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125366', + 'abilityTreeNodes' => [ + 'FEATUREessUCEVTM', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp14wlu85wrpchm0****', + ], + ], + [ + 'name' => 'ActiveScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to enable in the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asc-bp1ffogfdauy0nu5****', + ], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the launch template that is used by Auto Scaling to create ECS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lt-m5e3ofjr1zn1aw7****', + ], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the launch template. Valid values:'."\n" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: The default template version is always used.'."\n" + .'* Latest: The latest template version is always used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Default', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances that you want to add to the scaling group after the scaling group is enabled.'."\n" + ."\n" + .'Before you add ECS instances to the scaling group, make sure that the instances meet the following requirements:'."\n" + ."\n" + .'* The instances must reside in the same region as the scaling group.'."\n" + .'* The instances must be in the Running state.'."\n" + .'* The instances do not belong to another scaling group.'."\n" + .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" + .'* If you specify VswitchID for the scaling group, the instances must share the same VPC as the scaling group.'."\n" + .'* If you do not specify VswitchID for the scaling group, the instances must use the classic network.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ECS instance that you want to add to the scaling group after the scaling group is enabled.'."\n" + ."\n" + .'Before you add an ECS instance to the scaling group, make sure that the instance meets the following requirements:'."\n" + ."\n" + .'* The instance must reside in the same region as the specified scaling group.'."\n" + .'* The instance must be in the Running state.'."\n" + .'* The instance does not belong to another scaling group.'."\n" + .'* The instance is billed on a subscription or pay-as-you-go basis, or the instance is a preemptible instance.'."\n" + .'* If you specify VswitchID for the scaling group, the instance must share the same VPC as the scaling group.'."\n" + .'* If you do not specify VswitchID for the scaling group, the instance must use the classic network.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-283vv**** '."\n", + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LoadBalancerWeights', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The weights of ECS instances or elastic container instances as backend servers.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LaunchTemplateOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the instance types that you want to extend in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => 'The instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify `LaunchTemplateOverrides.WeightedCapacity` after you specify this parameter.'."\n" + ."\n" + .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" + ."\n" + .'You can use this parameter to specify any instance types that are available for purchase.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c5.xlarge', + ], + 'WeightedCapacity' => [ + 'description' => 'The weight of the instance type. If you want to scale instances based on instance type weights in the scaling group, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n" + ."\n" + .'The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" + ."\n" + .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'* Current capacity: 0'."\n" + .'* Expected capacity: 6'."\n" + .'* Capacity of ecs.c5.xlarge: 4'."\n" + ."\n" + .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" + ."\n" + .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125350', + 'abilityTreeNodes' => [ + 'FEATUREessF87COY', + ], + ], + 'parameters' => [ + [ + 'name' => 'GroupDeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'* true: enables deletion protection. In this case, you cannot delete the scaling group by using the Auto Scaling console or calling an API operation. You must disable deletion protection before you can delete the scaling group.'."\n" + .'* false: disables deletion protection.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125373', + 'abilityTreeNodes' => [ + 'FEATUREess909XOL', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'ForceDelete', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enforce the deletion of the scaling group, including the removal of the current ECS instances or elastic container instances from the scaling group and their subsequent release, even if the scaling group is actively undergoing scaling activities. Valid values:'."\n" + ."\n" + .'* true: enforces the deletion of the scaling group. In this case, the scaling group first enters the Disabled state, ceasing acceptance of new scaling requests. Auto Scaling awaits the conclusion of all ongoing scaling activities in the scaling group before it automatically removes the current ECS instances or elastic container instances from the scaling group and enforces the deletion operation. Note that manually added instances are merely removed from the scaling group, whereas auto-provisioned instances are removed and deleted.'."\n" + ."\n" + .'* false: does not enforce the deletion of the scaling group. The scaling group will be disabled and then deleted once all the following requirements are satisfied:'."\n" + ."\n" + .' * The scaling group has no ongoing scaling activities.'."\n" + .' * The scaling group contains no ECS instances or elastic container instances (Total Capacity=0).'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125357', + 'abilityTreeNodes' => [ + 'FEATUREess7569XW', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + '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', + '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', + ], + ], + [ + 'name' => 'ScalingGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scaling groups that you want to query.'."\n" + ."\n" + .'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scaling group that you want to query.'."\n" + ."\n" + .'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp14wlu85wrpchm0****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scalinggroup****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n" + ."\n" + .'> If no scaling group belongs to the specified resource group, the query result is empty and no error is reported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-123******', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Department', + ], + 'Value' => [ + 'description' => 'The tag value of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Finance '."\n", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + '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', + ], + ], + ], + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '212843', + 'abilityTreeNodes' => [ + 'FEATUREess7569XW', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'OutputFormat', + 'in' => 'query', + 'schema' => [ + 'description' => 'The output format. Set the value to yaml.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yaml', + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asc-bp1i65jd06v04vdh****', + ], + ], + [ + 'name' => 'HealthStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The health status of the ECS instance in the scaling group. If 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', + ], + ], + [ + 'name' => 'LifecycleState', + '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', + ], + ], + [ + 'name' => 'CreationType', + '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', + ], + ], + [ + '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: 100.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingActivityId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asa-bp1c9djwrgxjyk31****', + ], + ], + [ + 'name' => 'InstanceIds', + '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", + '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****', + ], + 'required' => false, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'CreationTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance creation methods. If you specify this parameter, you cannot specify CreationType.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance creation method. You can set the value to AutoCreated, Attached, or Managed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AutoCreated', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'LifecycleStates', + '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", + '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', + 'required' => false, + 'example' => 'InService', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + '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**', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125358', + 'abilityTreeNodes' => [ + 'FEATUREessACRSW1', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scaling activity that you want to query belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'docRequired' => false, + 'maximum' => '50', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n" + ."\n" + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'StatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the scaling activity. Valid values:'."\n" + ."\n" + .'* Successful: The scaling activity is successful.'."\n" + .'* Warning: The scaling activity is partially successful.'."\n" + .'* Failed: The scaling activity failed.'."\n" + .'* InProgress: The scaling activity is in progress.'."\n" + .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'Successful', + ], + ], + [ + 'name' => 'ScalingActivityIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scaling activities that you want to query.'."\n" + ."\n" + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scaling activity that you want to query.'."\n" + ."\n" + .'> When you call this operation, you must specify one of the following parameters: `ScalingGroupId` and `ScalingActivityIds`. You cannot specify both of them at the same time. If you specify neither of them, an error is reported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asa-bp161xudmuxdzofe****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ir-a12ds234fasd*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F2A46', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => 'The total number of scaling activities.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScalingActivities' => [ + 'description' => 'The scaling activities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling activity.'."\n", + 'type' => 'object', + 'properties' => [ + 'Progress' => [ + 'description' => 'The execution progress of the scaling activity.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'ScalingInstanceNumber' => [ + 'description' => '* If you query a scale-out activity, the value of this parameter indicates the number of instances that are created or the number of instances that are started from Economical Mode.'."\n" + .'* If you query a scale-in activity, the value of this parameter indicates the number of instances that are deleted or the number of instances that are stopped in Economical Mode.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'AttachedCapacity' => [ + 'description' => 'The total number of instances that are manually added to the scaling group after the scaling activity is complete.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'TotalCapacity' => [ + 'description' => 'The total number of instances in the scaling group after the scaling activity was complete.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + 'AutoCreatedCapacity' => [ + 'description' => 'The total number of instances that are created by Auto Scaling after the scaling activity was complete.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'EndTime' => [ + 'description' => 'The time when the scaling activity was complete.'."\n", + 'type' => 'string', + 'example' => '2020-09-10T09:54Z', + ], + 'StartTime' => [ + 'description' => 'The time when the scaling activity was started.'."\n", + 'type' => 'string', + 'example' => '2020-09-10T09:54Z', + ], + 'Description' => [ + 'description' => 'The description of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'Add \\"1\\" ECS instance', + ], + 'StatusCode' => [ + 'description' => 'The status of the scaling activity. Valid values:'."\n" + ."\n" + .'* Successful: The scaling activity is successful.'."\n" + .'* Warning: The scaling activity is partially successful.'."\n" + .'* Failed: The scaling activity failed.'."\n" + .'* InProgress: The scaling activity is in progress.'."\n" + .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", + 'type' => 'string', + 'example' => 'Successful', + ], + 'Cause' => [ + 'description' => 'The reason why the scaling activity was triggered.'."\n", + 'type' => 'string', + 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".', + ], + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-bp161xudmuxdzofe****', + ], + 'StatusMessage' => [ + 'description' => 'The status message of the scaling activity.'."\n", + 'type' => 'string', + 'example' => '\\"1\\" ECS instances are added', + ], + 'CreatedCapacity' => [ + 'description' => 'The number of instances that are created during the scale-out event.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'DestroyedCapacity' => [ + 'description' => 'The number of instances that are released during the scale-in event.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'StartedCapacity' => [ + 'description' => 'The number of instances that are started from the Economical Mode during the scale-out event.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'StoppedCapacity' => [ + 'description' => 'The number of instances that are stopped in the Economical Mode during the scale-in event.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'CreatedInstances' => [ + 'description' => 'The instances that are created during the scale-out event.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instances that are created during the scale-out event.'."\n", + 'type' => 'string', + 'example' => '["i-abc1","i-abc2"]', + ], + ], + 'DestroyedInstances' => [ + 'description' => 'The instances that are released during the scale-in event.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instances that are released during the scale-in event.'."\n", + 'type' => 'string', + 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']', + ], + ], + 'StartedInstances' => [ + 'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instances that are started from the Economical Mode during the scale-out event.'."\n", + 'type' => 'string', + 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']', + ], + ], + 'StoppedInstances' => [ + 'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instances that are stopped in the Economical Mode during the scale-in event.'."\n", + 'type' => 'string', + 'example' => '['."\n" + .' "i-abc1",'."\n" + .' "i-abc2"'."\n" + .']', + ], + ], + 'ErrorCode' => [ + 'description' => 'The error code that is returned when the scaling activity failed.'."\n", + 'type' => 'string', + 'example' => 'OperationDenied.NoStock', + ], + 'ErrorMessage' => [ + 'description' => 'The error message that is returned when the scaling activity failed.'."\n", + 'type' => 'string', + 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.', + ], + 'Detail' => [ + 'description' => 'Details of the scaling activity.'."\n", + 'type' => 'string', + 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."', + ], + 'TriggerSourceType' => [ + 'description' => 'The type of the trigger source of the scaling activity. Valid values:'."\n" + ."\n" + .'* Cms: The scaling activity is triggered by an event-triggered task.'."\n" + .'* APIs: The scaling activity is triggered by calling an API operation.'."\n" + .'* Ess: The scaling activity is triggered by Auto Scaling.'."\n", + 'type' => 'string', + 'example' => 'Api', + ], + 'TriggerSourceId' => [ + 'description' => 'The ID of the trigger source of the scaling activity. Valid values:'."\n" + ."\n" + .'* If the scaling activity is triggered by an event-triggered task, the ID of the trigger source is the ID of the event-triggered task.'."\n" + .'* If the scaling activity is triggered by calling an API operation, the ID of the trigger source is the ID of the Alibaba Cloud account or Resource Access Management (RAM) user that you use to call the API operation.'."\n" + .'* If the scaling activity is triggered by Auto Scaling, the ID of the trigger source is null.'."\n", + 'type' => 'string', + 'example' => '2346366580*****', + ], + 'LifecycleHookContext' => [ + 'description' => 'The context of the lifecycle hook.'."\n", + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => [ + 'description' => 'Indicates whether all lifecycle hooks are disabled when the scaling activity is triggered. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'The IDs of the lifecycle hooks that are disabled.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the lifecycle hook that is disabled.'."\n", + 'type' => 'string', + 'example' => 'ash-bp14zolna43z266bq***'."\n", + ], + ], + ], + ], + 'ActivityMetadata' => [ + 'description' => 'The metadata of the scaling activity.'."\n", + 'type' => 'string', + 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}', + ], + 'InstanceRefreshTaskId' => [ + 'description' => 'The ID of the instance refresh task.'."\n", + 'type' => 'string', + 'example' => 'ir-asdf12adsxg*****', + ], + 'ErrorMessages' => [ + 'description' => 'The error messages that are returned when the scaling activities failed or are partially successful.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => 'The description of the scaling activity exception.'."\n", + 'type' => 'string', + 'example' => 'Fail to create instances into scaling group.', + ], + 'Code' => [ + 'description' => 'The error code that is returned when the scaling activity failed.'."\n", + 'type' => 'string', + 'example' => 'OperationDenied.NoStock', + ], + 'Message' => [ + 'description' => 'The error message that is returned when the scaling activity failed or is partially successful.'."\n", + 'type' => 'string', + 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', + ], + 'FailedInstanceIds' => [ + 'description' => 'The IDs of the instances included in the failed scaling activities.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the instance included in the failed scaling activity.'."\n", + 'type' => 'string', + 'example' => 'i-8vbedazhjj6a6******', + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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.', + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125378', + 'abilityTreeNodes' => [ + 'FEATUREess2GK585', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp1avr6ensitts3w****', + ], + ], + [ + 'name' => 'ForceAttach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to add the existing instances in the scaling group as backend servers of the load balancer. Valid values:'."\n" + ."\n" + .'* true: If you set this parameter to `true`, the attachment of the load balancer entails the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If a load balancer is currently attached to your scaling group, and you only want to add the instances in your scaling group to the backend server groups of the load balancer, you can call this operation again and set ForceAttach request to true.'."\n" + ."\n" + .'* false: If you set this parameter to false, the attachment of the load balancer does not entail the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to attach the CLB instance to the scaling group in an asynchronous manner. If you attach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true. Valid values:'."\n" + ."\n" + .'* true: attaches the CLB instance to the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" + .'* false: does not attach the CLB instance to the scaling group in an asynchronous manner.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LoadBalancers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the load balancers that you want to attach to the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n" + ."\n" + .'> In each call, you can attach up to five load balancers to a scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-2zeur05gfs**** '."\n", + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'LoadBalancerConfigs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The configurations of the classic load balancer (CLB, formerly known as SLB) instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'The ID of the CLB instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '147b46d767c-cn-qingdao-cm5**** ', + ], + 'Weight' => [ + 'description' => 'The weight of an Elastic Compute Service (ECS) instance or elastic container instance as a backend sever of the CLB instance. If an instance has a higher weight, more access traffic is routed to the instance. If an instance has zero weight, no access traffic is routed to the instance.'."\n" + ."\n" + .'Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This parameter is returned only if you set `Async` to `true`. You can call the DescribeScalingActivities operation to query the scaling activity IDs and status.'."\n", + 'type' => 'string', + 'example' => 'asa-bp140qd7mak8k63f****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the load balancer. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" + .'* false: does not detach the CLB instance from the scaling group in an asynchronous manner.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LoadBalancers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-2zeur05gfs**** '."\n", + ], + 'required' => true, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity. The value of this parameter is returned only if you set the Async parameter to true. You can call the describescalingactivities operation to query all scaling activity IDs and use the scaling activity IDs to check the status of the scaling activities.'."\n", + 'type' => 'string', + 'example' => 'asa-bp140qd7mak8k63f****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1avr6ensitts3w****', + ], + ], + [ + 'name' => 'ForceAttach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to add the private IP addresses of all ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance that you want to attach to the scaling group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + ."\n" + .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DBInstances', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that you want to attach to the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ApsaraDB RDS instance that you want to attach to the scaling group.'."\n" + ."\n" + .'> You can attach up to five ApsaraDB RDS instances to a scaling group at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rm-bp12cy3**** '."\n", + ], + 'required' => true, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'AttachMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n" + ."\n" + .'* SecurityIp: adds the private IP addresses of scaled out ECS instances to the IP address whitelist of the database. Take note that you can choose this mode only when the database that you want to attach is an ApsaraDB RDS instance.'."\n" + .'* SecurityGroup: adds the security group of the scaling configuration based on which ECS instances are created in the scaling group to the security group whitelist of the database for registration.'."\n" + ."\n" + .'Default value: SecurityIp.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SecurityIp', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the database that you want to attach to the scaling group. Valid values:'."\n" + ."\n" + .'* RDS'."\n" + .'* Redis'."\n" + .'* MongoDB'."\n" + ."\n" + .'Default value: RDS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'RDS', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'DBInstances', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rm-bp12cy3**** '."\n", + ], + 'required' => true, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'RemoveSecurityGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove the security group. This parameter takes effect only if you set `AttachMode` to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp15oubotmrq11xe****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'Processes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The types of processes that you want to suspend. Valid values:'."\n" + ."\n" + .'* ScaleIn: the scale-in process.'."\n" + .'* ScaleOut: the scale-out process.'."\n" + .'* HealthCheck: the health check process.'."\n" + .'* AlarmNotification: the process of executing an event-triggered task.'."\n" + .'* ScheduledAction: the process of executing a scheduled task.'."\n" + ."\n" + .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the process that you want to suspend. Valid values:'."\n" + ."\n" + .'* ScaleIn: the scale-in process.'."\n" + .'* ScaleOut: the scale-out process.'."\n" + .'* HealthCheck: the health check process.'."\n" + .'* AlarmNotification: the process of executing an event-triggered task.'."\n" + .'* ScheduledAction: the process of executing a scheduled task.'."\n" + ."\n" + .'Presently, Auto Scaling supports suspending the five mentioned process types. In cases where more than five types are specified, Auto Scaling will automatically disregard duplicates and proceed with suspending the unique process types.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ScaleIn', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51****', + ], + ], + 'description' => '', + ], + ], + ], + '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****', + ], + ], + [ + 'name' => 'Processes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the processes that you want to resume.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the process that you want to resume. Valid values:'."\n" + ."\n" + .'* ScaleIn'."\n" + .'* ScaleOut'."\n" + .'* HealthCheck'."\n" + .'* AlarmNotification'."\n" + .'* ScheduledAction'."\n" + ."\n" + .'You can resume five processes of the preceding types at the same time. If you try to resume more than five processes at the same time, Auto Scaling automatically removes the duplicate processes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ScaleIn', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request'."\n", + 'type' => 'string', + 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + [ + 'name' => 'VServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => [ + 'description' => 'The ID of the vServer group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-bp1u7etiogg38yvwz****', + ], + 'Weight' => [ + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + 'Port' => [ + 'description' => 'The port number over which Auto Scaling adds ECS instances or elastic container instances to the new vServer group. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + 'LoadBalancerId' => [ + 'description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rsp-bp1jp1rge**** '."\n", + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + [ + 'name' => 'VServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The collection of information about the vServer groups marked for detachment.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => [ + 'description' => 'The ID of the backend vServer group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rsp-bp1jp1rge****', + ], + 'Port' => [ + 'description' => 'The port number that Auto Scaling employs to incorporate instances into the vServer group. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '22', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + 'LoadBalancerId' => [ + 'description' => 'The ID of the load balancer to which the vServer group belongs.'."\n" + ."\n" + .'> You can detach vServer groups of up to five load balancers from a scaling group in one call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lb-bp1p90y3ya9h8s62d****', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + [ + 'name' => 'AlbServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the ALB server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the ALB server group.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => [ + 'description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-ddwb0y0g6y9bjm****', + ], + 'Weight' => [ + 'description' => 'The weight of an ECS instance or elastic container instance after being added as a backend server to the ALB server group. Valid values: 0 to 100.'."\n" + ."\n" + .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If you assign zero weight to an instance, the instance is allocated no access requests.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '100', + ], + 'Port' => [ + 'description' => 'The port used by ECS instances or elastic container instances after being added as backend servers to the ALB server group.'."\n" + ."\n" + .'Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '22', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity. During the scaling activity, the ALB server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the ALB server group.'."\n" + ."\n" + .'> This parameter is returned only if you set `ForceAttach` to `true`.'."\n", + 'type' => 'string', + 'example' => 'asa-2ze6wxj8vsohn6j9****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + ."\n" + .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances from the Application Load Balancer (ALB) server group marked for detachment. Valid values:'."\n" + ."\n" + .'* true: removes the existing ECS instances from the ALB server group and returns the value of `ScalingActivityId`. You can query the value of ScalingActivityId to check whether the existing ECS instances are removed from the ALB server group.'."\n" + .'* false: does not remove the existing ECS instances from the ALB server group.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AlbServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the ALB server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the ALB server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => [ + 'description' => 'The ID of the ALB server group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-ddwb0y0g6y9bjm****', + ], + 'Port' => [ + 'description' => 'The port number used by the ECS instances in the ALB server group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '22', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity during which the ALB server group is detached from the scaling group and the existing ECS instances are removed from the ALB server group. This parameter has a return value only if you set `ForceDetach` to `true`.'."\n", + 'type' => 'string', + 'example' => 'asa-2ze6wxj8vsohn6j9****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + '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****', + ], + ], + [ + '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 (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, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the server group.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => [ + 'description' => 'The ID of the server group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-5yc3bd9lfyh*****', + ], + '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', + 'required' => false, + 'example' => '22', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity. During the scaling activity, the 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' => '', + ], + ], + ], + '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' => [], + ], + ], + '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', + ], + ], + [ + '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' => 'ForceDetach', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group from the server group marked for detachment.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ServerGroups', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => [ + 'description' => 'The ID of the server group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-1gv2uidn2msy****', + ], + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity. During the scaling activity, the server group is detached from the scaling group and the existing servers, which are the ECS instances or elastic container instances in the scaling group, are removed from the server group.'."\n" + ."\n" + .'> This parameter is returned only if you set `ForceDetach` to `true`.'."\n", + 'type' => 'string', + 'example' => 'asa-bp1gbswjhjrw8tko****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '163908', + 'abilityTreeNodes' => [ + 'FEATUREessGIWHSQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to scalinggroup.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scalinggroup', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group that you want to move from the current resource group to another resource group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp17xb4x1vr29lgt****', + ], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which you want to move the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rg-aek2ckjqe3*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'ChangeResourceGroup', + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'Content', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The content of the configuration file.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .'spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221692', + 'abilityTreeNodes' => [ + 'FEATUREess7569XW', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + '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, + ], + ], + [ + '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 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', + ], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The vSwitch IDs.'."\n" + ."\n" + .'> If you do not specify the scaling group ID, you must specify 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" + ."\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', + ], + ], + [ + 'name' => 'ImageFamily', + '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', + ], + ], + [ + 'name' => 'DataDiskCategories', + '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, + ], + ], + [ + 'name' => 'Ipv6AddressCount', + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125374', + 'abilityTreeNodes' => [ + 'FEATUREessWJGIW5', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group in which you want to create a scaling configuration.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp14wlu85wrpchm0****', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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.', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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"}', + ], + ], + [ + '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", + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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.', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The zone ID of the ECS instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the dedicated host on which you want to create 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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'SchedulerOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The scheduler options.'."\n", + 'type' => 'object', + 'required' => false, + 'example' => '["testManagedPrivateSpaceId****"]', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The retention period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6.'."\n" + ."\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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'InstanceTypes', + '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, + ], + ], + [ + 'name' => 'InstanceTypeOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the specified instance type.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DataDisks', + '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 [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****', + ], + '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" + ."\n" + .'> If you specify Categories, you cannot specify `DataDisks.Category`.'."\n", + '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" + ."\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', + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'SpotPriceLimits', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The billing information of the spot instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The billing information of the spot instance.'."\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.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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityGroupIds', + '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" + ."\n" + .'> If you specify SecurityGroupId, you cannot specify SecurityGroupIds.'."\n", + '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****', + ], + 'required' => false, + 'maxItems' => 16, + ], + ], + [ + 'name' => 'InstancePatternInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + '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' => [ + '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', + ], + '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, + ], + 'Architectures' => [ + 'description' => 'The architecture types of the instance types. Valid values:'."\n" + ."\n" + .'* X86: x86 architecture.'."\n" + .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" + .'* BareMetal: ECS Bare Metal Instance.'."\n" + .'* Arm: Arm.'."\n" + ."\n" + .'By default, all values are selected.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'* X86: x86 architecture.'."\n" + .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" + .'* BareMetal: ECS Bare Metal Instance.'."\n" + .'* Arm: Arm.'."\n" + ."\n" + .'By default, all values are selected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'X86', + ], + 'required' => false, + 'maxItems' => 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', + ], + '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" + .'> 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' => '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', + ], + '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 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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'SystemDiskCategories', + '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" + ."\n" + .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", + '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', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ss-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + '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" + ."\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 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", + '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****', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NetworkInterfaces', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + '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', + ], + 'SecurityGroupIds' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-uf6ij8dwxxxxxx', + ], + 'required' => false, + 'maxItems' => 20, + ], + 'SecondaryPrivateIpAddressCount' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the dedicated host cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dc-2zedxc67zqzt7lb4****', + ], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + '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', + ], + ], + 'required' => false, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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" + ."\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 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', + ], + '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", + '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', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The information that is returned.'."\n", + '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****', + ], + ], + ], + ], + ], + '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" + ."\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" + ."\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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '133422', + 'abilityTreeNodes' => [ + 'FEATUREessVYTHU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scaling configuration that you want to query belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp17pelvl720x3v7****', + ], + ], + [ + 'name' => 'ScalingConfigurationIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scaling configurations that you want to query.'."\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, + ], + ], + [ + 'name' => 'ScalingConfigurationNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + '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' => '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", + ], + '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' => '', + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asc-bp16har3jpj6fjbx****', + ], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether 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', + ], + ], + [ + 'name' => 'SpotStrategy', + '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', + ], + ], + [ + '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' => 'test-modify', + ], + ], + [ + 'name' => 'InstanceName', + '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****', + ], + ], + [ + '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. Separate a hostname into multiple segments with periods (.). Each segment can contain letters, digits, and hyphens (-).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hos****', + ], + ], + [ + 'name' => 'ImageId', + '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', + ], + ], + [ + '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 from Alibaba Cloud Marketplace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', + ], + ], + [ + '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 an instance type in the scaling configuration.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + '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 an instance type in the scaling configuration.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '16', + ], + ], + [ + 'name' => 'InternetChargeType', + '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', + ], + ], + [ + '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', + ], + ], + [ + '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" + .'* 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', + ], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => [ + 'description' => 'The size of the system disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'* Basic disk: 20 to 500.'."\n" + ."\n" + .'* ESSD: 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: 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", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the system disk. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http:// `or `https://`. '."\n" + ."\n" + .'Default value: null.', + 'type' => 'string', + 'required' => false, + 'example' => 'cloud_ssdSystem', + ], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the system disk. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test system disk.', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'PL0', + ], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => [ + 'description' => 'The weight of an ECS instance as a backend server. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + '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", + ], + ], + [ + 'name' => 'KeyPairName', + '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', + ], + ], + [ + 'name' => 'RamRoleName', + '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', + ], + ], + [ + '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.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tags', + '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"}', + ], + ], + [ + '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-bp13v7bjnj9gis****', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'sg-F876F****', + ], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to overwrite existing data. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the ECS instances belong.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'abcd1234abcd****', + ], + ], + [ + 'name' => 'HpcClusterId', + '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', + ], + ], + [ + 'name' => 'InstanceDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test instance.', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + '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', + ], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the image family. If you specify this parameter, the latest custom images that are available in the specified image family are returned. 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', + ], + ], + [ + 'name' => 'ZoneId', + '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', + ], + ], + [ + 'name' => 'DedicatedHostId', + '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****', + ], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to associate the instance on a dedicated host with the dedicated host. Valid values:'."\n" + ."\n" + .'* default: does not associate the instance 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', + ], + ], + [ + 'name' => 'Tenancy', + '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', + ], + ], + [ + 'name' => 'SchedulerOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The scheduler options.'."\n", + 'type' => 'object', + 'required' => false, + 'example' => '["testManagedPrivateSpaceId****"]', + ], + ], + [ + '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 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', + ], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eap-bp67acfmxazb4****', + ], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The 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', + ], + ], + [ + 'name' => 'SpotInterruptionBehavior', + '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', + ], + ], + [ + 'name' => 'DataDisks', + '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, + ], + ], + [ + 'name' => 'SpotPriceLimits', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about spot instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The spot instance type.'."\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", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'InstanceTypes', + '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, + ], + ], + [ + 'name' => 'InstanceTypeOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about instance types.'."\n", + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityGroupIds', + '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, + ], + ], + [ + 'name' => 'InstancePatternInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + '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' => [ + '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", + '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', + 'required' => false, + 'example' => 'X86', + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'SystemDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', + '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" + ."\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' => 'string', + 'required' => false, + 'example' => 'cloud', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + '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****', + ], + ], + [ + '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', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'SystemDisk.EncryptAlgorithm', + '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', + ], + ], + [ + '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', + ], + ], + [ + '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" + .'> If you set `SystemDisk.Category` to `cloud_auto`, you can specify this parameter.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ImageOptions.LoginAsNonRoot', + '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', + ], + ], + [ + 'name' => 'DeletionProtection', + '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', + ], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'ss-bp67acfmxazb4p****', + ], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'CustomPriorities', + '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, + ], + ], + [ + 'name' => 'NetworkInterfaces', + '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, + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the dedicated host cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dc-zm04u8r3lohsq****', + ], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + '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', + ], + ], + 'required' => false, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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. 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', + ], + ], + [ + '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" + ."\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, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The information that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + '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-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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125387', + 'abilityTreeNodes' => [ + 'FEATUREessTZHE2G', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asc-bp1bx8mzur534edp****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request. The request ID is returned regardless of whether the call is successful.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'enumValueTitles' => [], + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125325', + 'abilityTreeNodes' => [ + 'FEATUREessWJGIW5', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp14wlu85wrpchm0****', + ], + ], + [ + 'name' => 'ScalingConfigurationName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + ."\n" + .'The name of the scaling configuration must be unique in a scaling group within a region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'scalingconfig****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '> This parameter is unavailable for use.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'desc', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'sg-uf66jeqopgqa9hdn****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of vCPUs per elastic container instance.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'EnableSls', + 'in' => 'query', + 'schema' => [ + 'description' => '> This parameter is unavailable for use.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ImageSnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'imc-2zebxkiifuyzzlhl****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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" + ."\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', + ], + ], + [ + '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', + ], + ], + [ + '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. Default value: 5. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000000', + 'minimum' => '0', + 'example' => '5', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The hostname series of elastic container instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of physical CPU cores. You can specify this parameter for specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000', + 'minimum' => '0', + 'example' => '2', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of performance level 1 (PL1) is used. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '5000', + 'minimum' => '0', + 'example' => '20', + ], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => [ + 'description' => 'The load balancing weight of each elastic container instance. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of elastic container instances. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" + ."\n" + .'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" + .'* A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the elastic container instance. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" + ."\n" + .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" + .'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the elastic container instance.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'version', + ], + '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, + ], + ], + [ + 'name' => 'ImageRegistryCredentials', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The image repositories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => [ + 'description' => 'The password of the image repository.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yourpaasword '."\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, + ], + ], + [ + 'name' => 'Containers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The containers per elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring data of containers.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadinessProbe.TimeoutSeconds' => [ + 'description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + '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, + ], + ], + [ + 'name' => 'Volumes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ConfigFileVolume', + ], + '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, + ], + ], + [ + 'name' => 'InitContainers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Path '."\n", + ], + '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" + ."\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', + ], + ], + '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", + ], + '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/', + ], + ], + 'required' => false, + ], + '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", + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DnsConfigSearchs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The search domain of the DNS server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'svc.local.kubenetes '."\n", + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DnsConfigOptions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The variable value of the option.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'value '."\n", + ], + 'Name' => [ + 'description' => 'The variable name of the option.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'name', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + '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, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + 'name' => 'SecurityContextSysctls', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '65536', + ], + '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, + ], + ], + [ + 'name' => 'NtpServers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the NTP server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ntp.cloud.aliyuncs.com', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'AcrRegistryInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com '."\n", + ], + '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, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECS instance types that you want to use to create elastic container instances. You can specify up to five ECS instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECS instance type that you want to use to create elastic container instances. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bucket that you want to use to store data caches.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'DataCachePL', + 'in' => 'query', + 'schema' => [ + 'description' => 'The PL of the cloud disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PL1', + ], + ], + [ + 'name' => 'DataCacheProvisionedIops', + 'in' => 'query', + 'schema' => [ + 'description' => 'The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × *Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '40000', + ], + ], + [ + 'name' => 'DataCacheBurstingEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the performance burst feature when ESSD AutoPL disks are used to store data caches. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'ScalingConfigurationId' => [ + 'description' => 'The ID of the elastic container instance (container group).'."\n", + 'type' => 'string', + 'example' => 'eci-uf6fonnghi50u374****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '89945DD3-9072-47D0-A318-353284CF****', + ], + ], + ], + ], + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125390', + 'abilityTreeNodes' => [ + 'FEATUREessU7F1S4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp17pelvl720x3v7****', + ], + ], + [ + 'name' => 'ScalingConfigurationIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration IDs.'."\n" + ."\n" + .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of `LifecycleState`.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scaling configuration that you want to query.'."\n" + ."\n" + .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish between active and inactive scaling configurations based on the value of LifecycleState.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => ' asc-bp17pelvl720x5ub****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ScalingConfigurationNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 scaling configuration names.'."\n" + ."\n" + .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of scaling configuration that you want to query.'."\n" + ."\n" + .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scalingcon**** '."\n", + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'TotalCount' => [ + 'description' => 'The total number of scaling configurations.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScalingConfigurations' => [ + 'description' => 'The scaling configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time at which the scaling configuration was created.'."\n", + 'type' => 'string', + 'example' => '2014-08-14T10:58Z', + ], + 'ScalingConfigurationName' => [ + 'description' => 'The name of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'scalingconfi****', + ], + 'SecurityGroupId' => [ + 'description' => 'The ID of the security group with which elastic container instances are associated. Elastic container instances that are associated with the same security group can communicate with each other.'."\n", + 'type' => 'string', + 'example' => 'sg-bp18kz60mefs****', + ], + 'ActiveDeadlineSeconds' => [ + 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'SpotStrategy' => [ + 'description' => 'The bidding policy for elastic container instances. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.'."\n", + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'AutoCreateEip' => [ + 'description' => 'Indicates whether elastic IP addresses (EIPs) are automatically created and bound to elastic container instances.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'example' => 'asg-bp17pelvl720x3v7****', + ], + 'EphemeralStorage' => [ + 'description' => 'The capacity of the ephemeral storage. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Ipv6AddressCount' => [ + 'description' => 'The number of IPv6 addresses.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'This is an example.', + ], + 'EipBandwidth' => [ + 'description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ImageSnapshotId' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'example' => 'imc-2zebxkiifuyzzlhl****', + ], + 'Memory' => [ + 'description' => 'The memory size.'."\n" + ."\n" + .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. After you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" + ."\n" + .'> You can specify CPU and Memory to define instance types only if you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '16', + ], + 'RestartPolicy' => [ + 'description' => 'The restart policy of elastic container instances. Valid values:'."\n" + ."\n" + .'* Never: Elastic container instances are never restarted.'."\n" + .'* Always: Elastic container instances are always restarted.'."\n" + .'* OnFailure: Elastic container instances are restarted upon failures.'."\n", + 'type' => 'string', + 'example' => 'Never', + ], + 'SpotPriceLimit' => [ + 'description' => 'The maximum hourly price for preemptible elastic container instances.'."\n" + ."\n" + .'This parameter is returned only if you set SpotStrategy to SpotWithPriceLimit.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.025', + ], + 'IngressBandwidth' => [ + 'description' => 'The maximum inbound public bandwidth. Unit: bit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1024000', + ], + 'CpuOptionsThreadsPerCore' => [ + 'description' => 'The number of threads per core. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'TerminationGracePeriodSeconds' => [ + 'description' => 'The buffer time during which a program handles operations before the program stops.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'LoadBalancerWeight' => [ + 'description' => 'The load balancing weight of each elastic container instance as a backend server. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'DnsPolicy' => [ + 'description' => 'The Domain Name System (DNS) policy.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'HostName' => [ + 'description' => 'The hostname series.'."\n", + 'type' => 'string', + 'example' => '[\'hehe.com\', \'haha.com\']', + ], + 'EgressBandwidth' => [ + 'description' => 'The maximum outbound public bandwidth. Unit: bit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1024000', + ], + 'RegionId' => [ + 'description' => 'The region ID of elastic container instances.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'RamRoleName' => [ + 'description' => 'The Resource Access Management (RAM) role of elastic container instances. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", + 'type' => 'string', + 'example' => 'ram:PassRole', + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs per elastic container instance.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2.0', + ], + 'AutoMatchImageCache' => [ + 'description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-8db03793gfrz****', + ], + 'ContainerGroupName' => [ + 'description' => 'The name series of elastic container instances.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ScalingConfigurationId' => [ + 'description' => 'The ID of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'asc-bp1ezrfgoyn5kijl****', + ], + 'CpuOptionsCore' => [ + 'description' => 'The number of physical CPU cores. This parameter can be specified for only specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'SlsEnable' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'boolean', + 'example' => 'False', + ], + 'Containers' => [ + 'description' => 'The containers in an elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The containers in the elastic container instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadinessProbeHttpGetPath' => [ + 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", + 'type' => 'string', + 'example' => '/usr/local', + ], + 'ReadinessProbeSuccessThreshold' => [ + 'description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LivenessProbePeriodSeconds' => [ + 'description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'LivenessProbeTcpSocketPort' => [ + 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LivenessProbeHttpGetScheme' => [ + 'description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform liveness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'WorkingDir' => [ + 'description' => 'The working directory.'."\n", + 'type' => 'string', + 'example' => '/usr/local/nginx', + ], + 'Tty' => [ + 'description' => 'Indicates whether the Interaction feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'LivenessProbeHttpGetPort' => [ + 'description' => 'The port to which HTTP GET requests are sent to perform liveness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Gpu' => [ + 'description' => 'The number of GPUs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReadinessProbeInitialDelaySeconds' => [ + 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Stdin' => [ + 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Memory' => [ + 'description' => 'The memory size per container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2.0', + ], + 'Name' => [ + 'description' => 'The custom name of the container.'."\n", + 'type' => 'string', + 'example' => 'nginx', + ], + 'SecurityContextReadOnlyRootFilesystem' => [ + 'description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LivenessProbeHttpGetPath' => [ + 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform liveness probes.'."\n", + 'type' => 'string', + 'example' => '/usr/nginx/', + ], + 'Image' => [ + 'description' => 'The container image.'."\n", + 'type' => 'string', + 'example' => 'mysql', + ], + 'ReadinessProbeTcpSocketPort' => [ + 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8888', + ], + 'ReadinessProbeHttpGetScheme' => [ + 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'ReadinessProbeHttpGetPort' => [ + 'description' => 'The path to which HTTP GET requests are sent when you use the HTTP GET requests to perform readiness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '/usr/nginx/', + ], + 'LivenessProbeSuccessThreshold' => [ + 'description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReadinessProbeTimeoutSeconds' => [ + 'description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'SecurityContextRunAsUser' => [ + 'description' => 'The ID of the user that runs the entry point of the container process.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'LivenessProbeInitialDelaySeconds' => [ + 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ReadinessProbePeriodSeconds' => [ + 'description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ImagePullPolicy' => [ + 'description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Each time image pulling is performed.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", + 'type' => 'string', + 'example' => 'Always', + ], + 'StdinOnce' => [ + 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs per container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2.0', + ], + 'LivenessProbeTimeoutSeconds' => [ + 'description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ReadinessProbeFailureThreshold' => [ + 'description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'LivenessProbeFailureThreshold' => [ + 'description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Ports' => [ + 'description' => 'The exposed ports and protocols.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed ports and protocols of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Port' => [ + 'description' => 'The port number. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8888', + ], + 'Protocol' => [ + 'description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", + 'type' => 'string', + 'example' => 'TCP', + ], + ], + ], + ], + 'VolumeMounts' => [ + 'description' => 'The mounted volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volumes that are mounted on the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => [ + 'description' => 'Indicates whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'SubPath' => [ + 'description' => 'The volume subdirectory.'."\n", + 'type' => 'string', + 'example' => 'data2/', + ], + 'Name' => [ + 'description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", + 'type' => 'string', + 'example' => 'default-volume1', + ], + 'MountPropagation' => [ + 'description' => 'The mount propagation settings. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", + 'type' => 'string', + 'example' => 'None', + ], + 'MountPath' => [ + 'description' => 'The directory to which the volume is mounted.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", + 'type' => 'string', + 'example' => '/pod/data', + ], + ], + ], + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the environment variables.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the environment variable.'."\n", + 'type' => 'string', + 'example' => 'PATH', + ], + 'Value' => [ + 'description' => 'The value of the environment variable.'."\n", + 'type' => 'string', + 'example' => '/usr/bin/', + ], + 'FieldRefFieldPath' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'path', + ], + ], + ], + ], + 'Commands' => [ + 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container startup command. You can specify up to 20 commands. Each command contains up to 256 characters.'."\n", + 'type' => 'string', + 'example' => 'sleep', + ], + ], + 'LivenessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use the CLI to perform liveness probes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", + 'type' => 'string', + 'example' => 'cat/tmp/healthy', + ], + ], + 'Args' => [ + 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", + 'type' => 'string', + 'example' => '100', + ], + ], + 'ReadinessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use the CLI to perform readiness probes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", + 'type' => 'string', + 'example' => 'cat/tmp/healthy', + ], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The permissions that are granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'string', + 'example' => 'NET_ADMIN', + ], + ], + 'LifecyclePostStartHandlerHttpGetHost' => [ + 'description' => 'The IP address of the host to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePostStartHandlerHttpGetPort' => [ + 'description' => 'The port over which HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePostStartHandlerHttpGetPath' => [ + 'description' => 'The path to which HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'string', + 'example' => '/healthyz', + ], + 'LifecyclePostStartHandlerHttpGetScheme' => [ + 'description' => 'The protocol type of the HTTP GET requests that are sent for configuring the postStart callback function.'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that are run for configuring the postStart callback function by using the CLI within the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run for configuring the postStart callback function by using the CLI within the container.'."\n", + 'type' => 'string', + 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', + ], + ], + 'LifecyclePostStartHandlerTcpSocketHost' => [ + 'description' => 'The IP address of the host detected by the TCP sockets used for configuring the postStart callback function.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePostStartHandlerTcpSocketPort' => [ + 'description' => 'The port detected by the TCP sockets used for configuring the postStart callback function.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePreStopHandlerHttpGetHost' => [ + 'description' => 'The IP address of the host to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePreStopHandlerHttpGetPort' => [ + 'description' => 'The port over which HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePreStopHandlerHttpGetPath' => [ + 'description' => 'The path to which HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'string', + 'example' => '/healthyz'."\n", + ], + 'LifecyclePreStopHandlerHttpGetScheme' => [ + 'description' => 'The protocol type of the HTTP Get requests that are sent for configuring the preStop callback function.'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that are run for configuring the preStop callback function by using the CLI within the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The commands that is run for configuring the preStop callback function by using the CLI within the container.'."\n", + 'type' => 'string', + 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', + ], + ], + 'LifecyclePreStopHandlerTcpSocketHost' => [ + 'description' => 'The IP address of the host detected by the TCP sockets used for configuring the preStop callback function.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePreStopHandlerTcpSocketPort' => [ + 'description' => 'The port detected by the TCP sockets used for configuring the preStop callback function.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'InitContainers' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'object', + 'properties' => [ + 'SecurityContextReadOnlyRootFilesystem' => [ + 'description' => 'Indicates whether the root file system is read-only. Valid value: true.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ImagePullPolicy' => [ + 'description' => 'The image pulling policy.'."\n", + 'type' => 'string', + 'example' => 'Always', + ], + 'WorkingDir' => [ + 'description' => 'The working directory.'."\n", + 'type' => 'string', + 'example' => '/usr/local', + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs per init container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.5', + ], + 'Image' => [ + 'description' => 'The image of the init container.'."\n", + 'type' => 'string', + 'example' => 'nginx', + ], + 'Gpu' => [ + 'description' => 'The number of GPUs per init container.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SecurityContextRunAsUser' => [ + 'description' => 'The ID of the user that runs the init container.'."\n", + 'type' => 'string', + 'example' => '587', + ], + 'Memory' => [ + 'description' => 'The memory size per init container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '1.0', + ], + 'Name' => [ + 'description' => 'The name of the init container.'."\n", + 'type' => 'string', + 'example' => 'test-init', + ], + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the environment variables.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the environment variable.'."\n", + 'type' => 'string', + 'example' => 'PATH', + ], + 'Value' => [ + 'description' => 'The value of the environment variable.'."\n", + 'type' => 'string', + 'example' => '/usr/local/bin', + ], + 'FieldRefFieldPath' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'path', + ], + ], + ], + ], + 'InitContainerPorts' => [ + 'description' => 'The ports of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the init container ports.'."\n", + 'type' => 'object', + 'properties' => [ + 'Port' => [ + 'description' => 'The port number. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Protocol' => [ + 'description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", + 'type' => 'string', + 'example' => 'TCP', + ], + ], + ], + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volumes that are mounted to the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volumes that are mounted on the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => [ + 'description' => 'Indicates whether the mount directory is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'SubPath' => [ + 'description' => 'The volume subdirectory. A pod can mount different directories of the same volume to different directories of the init container.'."\n", + 'type' => 'string', + 'example' => '/usr/sub/', + ], + 'Name' => [ + 'description' => 'The volume name.'."\n", + 'type' => 'string', + 'example' => 'test-empty', + ], + 'MountPropagation' => [ + 'description' => 'The mount propagation setting. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on a container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", + 'type' => 'string', + 'example' => 'None', + ], + 'MountPath' => [ + 'description' => 'The directory to which the volume is mounted. Data under this directory is overwritten by the data on the volume.'."\n", + 'type' => 'string', + 'example' => '/usr/share/', + ], + ], + ], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The permissions that are granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'string', + 'example' => 'NET_ADMIN', + ], + ], + 'InitContainerCommands' => [ + 'description' => 'The container startup commands.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container startup command.'."\n", + 'type' => 'string', + 'example' => 'sleep', + ], + ], + 'InitContainerArgs' => [ + 'description' => 'The container startup arguments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container startup argument.'."\n", + 'type' => 'string', + 'example' => '10', + ], + ], + ], + ], + ], + 'Tags' => [ + 'description' => 'The tags of elastic container instances. Tags are specified in the key-value format.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the elastic container instance. The tags are specified in the key-value pair format.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'version', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => '3', + ], + ], + ], + ], + 'Volumes' => [ + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the volumes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The volume type. Valid values:'."\n" + ."\n" + .'* EmptyDirVolume'."\n" + .'* NFSVolume'."\n" + .'* ConfigFileVolume'."\n" + .'* FlexVolume'."\n", + 'type' => 'string', + 'example' => 'EmptyDirVolume', + ], + 'DiskVolumeDiskId' => [ + 'description' => 'The size of the disk volume. Unit: GiB.'."\n", + 'type' => 'string', + 'example' => '15', + ], + 'DiskVolumeFsType' => [ + 'description' => 'The system type of the disk volume.'."\n", + 'type' => 'string', + 'example' => 'xfs', + ], + 'EmptyDirVolumeMedium' => [ + 'description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of a node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", + 'type' => 'string', + 'example' => 'memory', + ], + 'NFSVolumePath' => [ + 'description' => 'The path to the Network File System (NFS) volume.'."\n", + 'type' => 'string', + 'example' => '/share', + ], + 'DiskVolumeDiskSize' => [ + 'description' => 'The size of the disk volume. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'NFSVolumeReadOnly' => [ + 'description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'FlexVolumeFsType' => [ + 'description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", + 'type' => 'string', + 'example' => 'ext4', + ], + 'ConfigFileVolumeDefaultMode' => [ + 'description' => 'The default permissions on the ConfigFile volume.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0644', + ], + 'FlexVolumeDriver' => [ + 'description' => 'The name of the FlexVolume driver.'."\n", + 'type' => 'string', + 'example' => 'flexvolume', + ], + 'FlexVolumeOptions' => [ + 'description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", + 'type' => 'string', + 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', + ], + 'NFSVolumeServer' => [ + 'description' => 'The endpoint of the NFS server.'."\n", + 'type' => 'string', + 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', + ], + 'Name' => [ + 'description' => 'The volume name.'."\n", + 'type' => 'string', + 'example' => 'default-volume1', + ], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The paths to configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The paths to configuration files.'."\n", + 'type' => 'object', + 'properties' => [ + 'Path' => [ + 'description' => 'The relative path to the configuration file.'."\n", + 'type' => 'string', + 'example' => '/usr/bin/', + ], + 'Mode' => [ + 'description' => 'The permissions on the ConfigFile volume.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0644', + ], + 'Content' => [ + 'description' => 'The content of the configuration file (32 KB).'."\n", + 'type' => 'string', + 'example' => 'bGl1bWk=', + ], + ], + ], + ], + 'EmptyDirVolumeSizeLimit' => [ + 'description' => 'The storage size of the emptyDir volume.'."\n", + 'type' => 'string', + 'example' => '256Mi', + ], + 'HostPathVolumeType' => [ + 'description' => 'The type of the HostPath volume.'."\n", + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'Directory', + ], + 'HostPathVolumePath' => [ + 'description' => 'The path to the HostPath volume on the host.'."\n", + 'type' => 'string', + 'example' => '/pod/data', + ], + ], + ], + ], + 'ImageRegistryCredentials' => [ + 'description' => 'The information about the image repository.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => [ + 'description' => 'The password of the image repository.'."\n", + 'type' => 'string', + 'example' => 'yourpaasword', + ], + 'Server' => [ + 'description' => 'The domain name of the image repository.'."\n", + 'type' => 'string', + 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', + ], + 'UserName' => [ + 'description' => 'The username of the image repository.'."\n", + 'type' => 'string', + 'example' => 'yourusername '."\n", + ], + ], + ], + ], + 'DnsConfigOptions' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The variable name of the option.'."\n", + 'type' => 'string', + 'example' => 'name', + ], + 'Value' => [ + 'description' => 'The variable value of the option.'."\n", + 'type' => 'string', + 'example' => 'value', + ], + ], + ], + ], + 'HostAliases' => [ + 'description' => 'The hostnames and IP addresses for a container that are added to the hosts file of the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The hostname aliases of a container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => [ + 'description' => 'The added IP address.'."\n", + 'type' => 'string', + 'example' => '192.0.XX.XX', + ], + 'Hostnames' => [ + 'description' => 'The added hostnames.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The added hostname.'."\n", + 'type' => 'string', + 'example' => '[\'hehe.com\', \'haha.com\']', + ], + ], + ], + ], + ], + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The system name of the security context in which the elastic container instance runs.'."\n", + 'type' => 'string', + 'example' => 'kernel.msgmax', + ], + 'Value' => [ + 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", + 'type' => 'string', + 'example' => '65536', + ], + ], + ], + ], + 'AcrRegistryInfos' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'cri-nwj395hgf6f3****', + ], + 'InstanceName' => [ + 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'acr-test', + ], + 'RegionId' => [ + 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', + ], + ], + ], + ], + ], + 'DnsConfigNameServers' => [ + 'description' => 'The IP addresses of the Domain Name Service (DNS) server.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IP address of the DNS server.'."\n", + 'type' => 'string', + 'example' => '172.10.*.**', + ], + ], + 'DnsConfigSearches' => [ + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The search domains of the DNS server.'."\n", + 'type' => 'string', + 'example' => 'svc.local.kubenetes', + ], + ], + 'NtpServers' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) server.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the NTP server.'."\n", + 'type' => 'string', + 'example' => 'ntp.cloud.aliyuncs.com', + ], + ], + 'LifecycleState' => [ + 'description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the scaling configuration that is in the Active state to create instances during scale-out events.'."\n" + .'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create instances during scale-out events.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'CostOptimization' => [ + 'description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceFamilyLevel' => [ + 'description' => 'The level of the instance family, which is used to filter the available instance types that meet the specified requirements. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", + 'type' => 'string', + 'example' => 'EnterpriseLevel', + ], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", + 'type' => 'string', + 'example' => 'ecs.g6.large', + ], + ], + 'DataCacheBucket' => [ + 'description' => 'The bucket that stores the data cache.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'DataCachePL' => [ + 'description' => 'The performance level (PL) of the cloud disk that stores the data cache. We recommend that you use enterprise SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", + 'type' => 'string', + 'example' => 'PL1', + ], + 'DataCacheProvisionedIops' => [ + 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that stores the data cache. Valid values: 0 to min{50,000, 1000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40000', + ], + 'DataCacheBurstingEnabled' => [ + 'description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that stores the data cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'GpuDriverVersion' => [ + 'description' => 'The version of the GPU driver.'."\n", + 'type' => 'string', + 'example' => 'tesla=470.82.01', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'Forbidden.RiskControl', + ], + ], + ], + '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', + ], + 'DescribeEciScalingConfigurationDetail' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '212769', + 'abilityTreeNodes' => [ + 'FEATUREessU7F1S4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + ], + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration based on which elastic container instances are created.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asc-bp1ffogfdauy0nu5****', + ], + ], + [ + 'name' => 'OutputFormat', + 'in' => 'query', + 'schema' => [ + 'description' => 'The output format. Set the value to YAML.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'YAML' => 'YAML', + ], + 'example' => 'yaml', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', + ], + 'ScalingConfiguration' => [ + 'description' => 'The information about the scaling configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The time when the scaling configuration was created.'."\n", + 'type' => 'string', + 'example' => '2023-05-10T02:39:15Z', + ], + 'ScalingConfigurationName' => [ + 'description' => 'The name of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'scalingconfi****', + ], + 'SecurityGroupId' => [ + 'description' => 'The ID of the security group with which the elastic container instance is associated. Elastic container instances that are associated with the same security group can access each other.'."\n", + 'type' => 'string', + 'example' => 'sg-bp18kz60mefs****', + ], + 'ActiveDeadlineSeconds' => [ + 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'SpotStrategy' => [ + 'description' => 'The preemption policy of the instance. Valid values:'."\n" + ."\n" + .'* NoSpot: The instance is created as a regular pay-as-you-go instance.'."\n" + .'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", + 'type' => 'string', + 'example' => 'NoSpot', + ], + 'AutoCreateEip' => [ + 'description' => 'Indicates whether an elastic IP address (EIP) is automatically created and bound to the elastic container instance.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1frlu04fq4zv65b1bh', + ], + 'EphemeralStorage' => [ + 'description' => 'The size of the temporary storage space. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Ipv6AddressCount' => [ + 'description' => 'The number of IPv6 addresses.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'This is an example.', + ], + 'EipBandwidth' => [ + 'description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ImageSnapshotId' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'example' => 'imc-2zebxkiifuyzzlhl****', + ], + 'Memory' => [ + 'description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'You can specify CPU and Memory to define the range of instance types. For example, if you set CPU to 2 and Memory to 16, the instance types that have 2 vCPUs and 16 GiB are returned. If you specify CPU and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones and preferentially creates instances by using the lowest-priced instance type.'."\n" + ."\n" + .'> You can specify CPU and Memory to define instance types only when you set Scaling Policy to Cost Optimization and no instance type is specified in the scaling configuration.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '4', + ], + 'RestartPolicy' => [ + 'description' => 'The restart policy of the container group. Valid values:'."\n" + ."\n" + .'* Never: The container group is never restarted.'."\n" + .'* Always: The container group is always restarted.'."\n" + .'* OnFailure: The container group is restarted upon failures.'."\n", + 'type' => 'string', + 'example' => 'Always', + ], + 'SpotPriceLimit' => [ + 'description' => 'The maximum hourly price for the preemptible instance.'."\n" + ."\n" + .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.025', + ], + 'IngressBandwidth' => [ + 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1024000', + ], + 'CpuOptionsThreadsPerCore' => [ + 'description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'TerminationGracePeriodSeconds' => [ + 'description' => 'The buffer time during which a program handles operations before the program stops.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'LoadBalancerWeight' => [ + 'description' => 'The weight of an elastic container instance as a Server Load Balancer (SLB) backend server. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'DnsPolicy' => [ + 'description' => 'The Domain Name System (DNS) policy.'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'HostName' => [ + 'description' => 'The hostname.'."\n", + 'type' => 'string', + 'example' => 'hostname', + ], + 'EgressBandwidth' => [ + 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10485760', + ], + 'RegionId' => [ + 'description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'RamRoleName' => [ + 'description' => 'The Resource Access Management (RAM) role of the elastic container instance. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", + 'type' => 'string', + 'example' => 'ram:PassRole'."\n", + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2.0', + ], + 'AutoMatchImageCache' => [ + 'description' => 'Indicates whether the image cache is automatically matched. Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmwozpmmksakq', + ], + 'ContainerGroupName' => [ + 'description' => 'The name of the container group.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ScalingConfigurationId' => [ + 'description' => 'The ID of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'asc-2zec39vg84usxdocme6a', + ], + 'CpuOptionsCore' => [ + 'description' => 'The number of physical CPU cores. You can specify this parameter for only specific instance types.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'SlsEnable' => [ + 'description' => 'Indicates whether user logs are collected. Default value: **false**.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Containers' => [ + 'description' => 'The containers in the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ReadinessProbeHttpGetPath' => [ + 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform readiness probes.'."\n", + 'type' => 'string', + 'example' => '/usr/local', + ], + 'ReadinessProbeSuccessThreshold' => [ + 'description' => 'The minimum number of consecutive successes before a failed readiness probe is considered successful. Default value: 1. Valid value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LivenessProbePeriodSeconds' => [ + 'description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'LivenessProbeTcpSocketPort' => [ + 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform liveness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LivenessProbeHttpGetScheme' => [ + 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform liveness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'WorkingDir' => [ + 'description' => 'The working directory in the container.'."\n", + 'type' => 'string', + 'example' => '/usr/local/nginx', + ], + 'Tty' => [ + 'description' => 'Specifies whether to enable the Interaction feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, the value of this parameter is true.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LivenessProbeHttpGetPort' => [ + 'description' => 'The port detected by HTTP Get requests when you use the HTTP requests to perform liveness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8080', + ], + 'Gpu' => [ + 'description' => 'The number of GPUs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'ReadinessProbeInitialDelaySeconds' => [ + 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a readiness probe.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Stdin' => [ + 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container is running. If this parameter is not specified, an end-of-file (EOF) error may occur when standard input streams in the container are read. Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Memory' => [ + 'description' => 'The memory size.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2.0', + ], + 'Name' => [ + 'description' => 'The container name.'."\n", + 'type' => 'string', + 'example' => 'nginx', + ], + 'SecurityContextReadOnlyRootFilesystem' => [ + 'description' => 'Indicates whether the root file system on which the container runs is read-only. Valid value: true.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LivenessProbeHttpGetPath' => [ + 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP requests to perform liveness probes.'."\n", + 'type' => 'string', + 'example' => '/usr/nginx/'."\n", + ], + 'Image' => [ + 'description' => 'The container image.'."\n", + 'type' => 'string', + 'example' => 'registry-vpc.aliyuncs.com/eci_open/alpine:3.5', + ], + 'ReadinessProbeTcpSocketPort' => [ + 'description' => 'The port detected by TCP sockets when you use the TCP sockets to perform readiness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ReadinessProbeHttpGetScheme' => [ + 'description' => 'The protocol type of HTTP GET requests when you use the HTTP requests to perform readiness probes. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'ReadinessProbeHttpGetPort' => [ + 'description' => 'The path to which HTTP Get requests are sent when you use the HTTP Get requests to perform readiness probes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LivenessProbeSuccessThreshold' => [ + 'description' => 'The minimum number of consecutive successes before a failed liveness probe is considered successful. Default value: 1. Valid value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ReadinessProbeTimeoutSeconds' => [ + 'description' => 'The timeout period of a readiness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'SecurityContextRunAsUser' => [ + 'description' => 'The ID of the user that runs the entry point of the container process.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + ], + 'LivenessProbeInitialDelaySeconds' => [ + 'description' => 'The number of seconds that elapses from the startup of the container to the start time of a liveness probe.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ReadinessProbePeriodSeconds' => [ + 'description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ImagePullPolicy' => [ + 'description' => 'The image pulling policy.'."\n", + 'type' => 'string', + 'example' => 'Always', + ], + 'StdinOnce' => [ + 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected among multiple sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container restarts.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '2', + ], + 'LivenessProbeTimeoutSeconds' => [ + 'description' => 'The timeout period of a liveness probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ReadinessProbeFailureThreshold' => [ + 'description' => 'The minimum number of consecutive failures before a successful readiness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'LivenessProbeFailureThreshold' => [ + 'description' => 'The minimum number of consecutive failures before a successful liveness probe is considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Ports' => [ + 'description' => 'The exposed ports and protocols.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Port' => [ + 'description' => 'The port number. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8083', + ], + 'Protocol' => [ + 'description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", + 'type' => 'string', + 'example' => 'TCP', + ], + ], + ], + ], + 'VolumeMounts' => [ + 'description' => 'The volumes that are mounted to the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => [ + 'description' => 'Indicates whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'SubPath' => [ + 'description' => 'The subdirectory of the volume.'."\n", + 'type' => 'string', + 'example' => 'data2/'."\n", + ], + 'Name' => [ + 'description' => 'The volume name.'."\n", + 'type' => 'string', + 'example' => 'default-volume1', + ], + 'MountPropagation' => [ + 'description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", + 'type' => 'string', + 'example' => 'None', + ], + 'MountPath' => [ + 'description' => 'The directory in which the container mounts the volume.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", + 'type' => 'string', + 'example' => '/pod/data', + ], + ], + ], + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the environment variable.'."\n", + 'type' => 'string', + 'example' => 'PATH', + ], + 'Value' => [ + 'description' => 'The value of the environment variable.'."\n", + 'type' => 'string', + 'example' => '/usr/bin/'."\n", + ], + 'FieldRefFieldPath' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'fieldPath', + ], + ], + ], + ], + 'Commands' => [ + 'description' => 'The container startup commands.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container startup command.'."\n", + 'type' => 'string', + 'example' => 'sleep', + ], + ], + 'LivenessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use a CLI to perform liveness probes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run in the container when you use a CLI to perform a liveness probe.'."\n", + 'type' => 'string', + 'example' => 'cat /tmp/healthy', + ], + ], + 'Args' => [ + 'description' => 'The arguments that are passed to the container startup commands.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The argument that is passed to the container startup command.'."\n", + 'type' => 'string', + 'example' => '100', + ], + ], + 'ReadinessProbeExecCommands' => [ + 'description' => 'The commands that are run in the container when you use a CLI to perform readiness probes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run in the container when you use a CLI to perform a readiness probe.'."\n", + 'type' => 'string', + 'example' => 'cat /tmp/healthy'."\n", + ], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The permission that is granted to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n", + 'type' => 'string', + 'example' => 'NET_ADMIN', + ], + ], + 'LifecyclePostStartHandlerHttpGetHost' => [ + 'description' => 'The IP address of the host to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePostStartHandlerHttpGetPort' => [ + 'description' => 'The port over which the HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePostStartHandlerHttpGetPath' => [ + 'description' => 'The path to the HTTP GET requests for configuring the postStart callback function are sent.'."\n", + 'type' => 'string', + 'example' => '/healthyz'."\n", + ], + 'LifecyclePostStartHandlerHttpGetScheme' => [ + 'description' => 'The protocol type of the HTTP Get requests that are used for configuring the postStart callback function.'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that are run by using a CLI for configuring the postStart callback function within the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run by using a CLI for configuring the postStart callback function within the container.'."\n", + 'type' => 'string', + 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', + ], + ], + 'LifecyclePostStartHandlerTcpSocketHost' => [ + 'description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX'."\n", + ], + 'LifecyclePostStartHandlerTcpSocketPort' => [ + 'description' => 'The port detected by the TCP sockets that are used for configuring the postStart callback function.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePreStopHandlerHttpGetHost' => [ + 'description' => 'The IP address of the host to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX'."\n", + ], + 'LifecyclePreStopHandlerHttpGetPort' => [ + 'description' => 'The port over which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'LifecyclePreStopHandlerHttpGetPath' => [ + 'description' => 'The path to which the HTTP GET requests for configuring the preStop callback function are sent.'."\n", + 'type' => 'string', + 'example' => '/healthyz', + ], + 'LifecyclePreStopHandlerHttpGetScheme' => [ + 'description' => 'The protocol type of the HTTP Get requests that are used for configuring the preStop callback function.'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that are run by using a CLI for configuring the preStop callback function within the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is run by using a CLI for configuring the preStop callback function within the container.'."\n", + 'type' => 'string', + 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', + ], + ], + 'LifecyclePreStopHandlerTcpSocketHost' => [ + 'description' => 'The IP address of the host detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'LifecyclePreStopHandlerTcpSocketPort' => [ + 'description' => 'The port detected by the TCP sockets that are used for configuring the preStop callback function.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'InitContainers' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SecurityContextReadOnlyRootFilesystem' => [ + 'description' => 'Indicates whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", + 'type' => 'boolean', + ], + 'ImagePullPolicy' => [ + 'description' => 'The image pulling policy.'."\n", + 'type' => 'string', + 'example' => 'Always', + ], + 'WorkingDir' => [ + 'description' => 'The working directory of the init container.'."\n", + 'type' => 'string', + 'example' => '/www', + ], + 'Cpu' => [ + 'description' => 'The number of vCPUs that are allocated to the init container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.5', + ], + 'Image' => [ + 'description' => 'The image of the init container.'."\n", + 'type' => 'string', + 'example' => 'registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine', + ], + 'Gpu' => [ + 'description' => 'The number of GPUs that are allocated to the init container.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SecurityContextRunAsUser' => [ + 'description' => 'The ID of the user that runs the init container.'."\n", + 'type' => 'string', + 'example' => '1000', + ], + 'Memory' => [ + 'description' => 'The memory size of the init container.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '1.0', + ], + 'Name' => [ + 'description' => 'The name of the init container.'."\n", + 'type' => 'string', + 'example' => 'test-init'."\n", + ], + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the environment variable.'."\n", + 'type' => 'string', + 'example' => 'PATH', + ], + 'Value' => [ + 'description' => 'The value of the environment variable.'."\n", + 'type' => 'string', + 'example' => '/usr/local/bin'."\n", + ], + 'FieldRefFieldPath' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'string', + 'example' => 'path', + ], + ], + ], + ], + 'InitContainerPorts' => [ + 'description' => 'The ports of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Port' => [ + 'description' => 'The port number. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024', + ], + 'Protocol' => [ + 'description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", + 'type' => 'string', + 'example' => 'UDP', + ], + ], + ], + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => [ + 'description' => 'Indicates whether the mount directory is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'SubPath' => [ + 'description' => 'The subdirectory of the volume.'."\n", + 'type' => 'string', + 'example' => '/usr/sub/', + ], + 'Name' => [ + 'description' => 'The volume name.'."\n", + 'type' => 'string', + 'example' => 'test-empty'."\n", + ], + 'MountPropagation' => [ + 'description' => 'The mount propagation setting of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed either on the volume itself or its subdirectories do not propagate to the already established volume mount.'."\n" + .'* HostToCotainer: Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed either on the volume itself or its subdirectories propagate to the already established volume mount. In addition, any volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", + 'type' => 'string', + 'example' => 'None', + ], + 'MountPath' => [ + 'description' => 'The directory to which the init container mounts the volume.'."\n" + ."\n" + .'> Data in this directory is overwritten by the data on the volume. Proceed with caution if you specify this parameter.'."\n", + 'type' => 'string', + 'example' => '/usr/share/'."\n", + ], + ], + ], + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The permissions that are granted to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The permission that is granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'string', + 'example' => 'NET_ADMIN', + ], + ], + 'InitContainerCommands' => [ + 'description' => 'The commands that are used to start the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The command that is used to start the init container.'."\n", + 'type' => 'string', + 'example' => 'sleep', + ], + ], + 'InitContainerArgs' => [ + 'description' => 'The arguments that are passed to the startup commands of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The argument that is passed to the startup command of the init container.'."\n", + 'type' => 'string', + 'example' => '10', + ], + ], + ], + ], + ], + 'Tags' => [ + 'description' => 'The tags of the elastic container instance. Tags are specified in the key-value format.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'version', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => '3', + ], + ], + ], + ], + 'Volumes' => [ + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The volume type. Valid values:'."\n" + ."\n" + .'* EmptyDirVolume'."\n" + .'* NFSVolume'."\n" + .'* ConfigFileVolume'."\n" + .'* FlexVolume'."\n", + 'type' => 'string', + 'example' => 'EmptyDirVolume', + ], + 'DiskVolumeDiskId' => [ + 'description' => 'The ID of the disk volume.'."\n", + 'type' => 'string', + 'example' => 'd-xx', + ], + 'DiskVolumeFsType' => [ + 'description' => 'The system type of the disk volume.'."\n", + 'type' => 'string', + 'example' => 'xfs', + ], + 'EmptyDirVolumeMedium' => [ + 'description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the volume stores data in the file system of the node by default. We recommend that you set this parameter to memory. In this case, the emptyDir volume stores data in the specified memory.'."\n", + 'type' => 'string', + 'example' => 'memory', + ], + 'NFSVolumePath' => [ + 'description' => 'The path to the Network File System (NFS) volume.'."\n", + 'type' => 'string', + 'example' => '/share'."\n", + ], + 'DiskVolumeDiskSize' => [ + 'description' => 'The size of the disk volume. Unit: GiB.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'NFSVolumeReadOnly' => [ + 'description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'FlexVolumeFsType' => [ + 'description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", + 'type' => 'string', + 'example' => 'ext4', + ], + 'ConfigFileVolumeDefaultMode' => [ + 'description' => 'The default permissions on the ConfigFile volume.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0644', + ], + 'FlexVolumeDriver' => [ + 'description' => 'The name of the FlexVolume driver.'."\n", + 'type' => 'string', + 'example' => 'flexvolume', + ], + 'FlexVolumeOptions' => [ + 'description' => 'The FlexVolume options.'."\n", + 'type' => 'string', + 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}'."\n", + ], + 'NFSVolumeServer' => [ + 'description' => 'The endpoint of the NFS server.'."\n", + 'type' => 'string', + 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com'."\n", + ], + 'Name' => [ + 'description' => 'The volume name.'."\n", + 'type' => 'string', + 'example' => 'default-volume1'."\n", + ], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The paths to the configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Path' => [ + 'description' => 'The path to the configuration file.'."\n", + 'type' => 'string', + 'example' => '/usr/bin/'."\n", + ], + 'Mode' => [ + 'description' => 'The permissions on the ConfigFile volume.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0644', + ], + 'Content' => [ + 'description' => 'The content of the configuration file.'."\n", + 'type' => 'string', + 'example' => 'bGl1bWk='."\n", + ], + ], + ], + ], + 'EmptyDirVolumeSizeLimit' => [ + 'description' => 'The storage size of the emptyDir volume.'."\n", + 'type' => 'string', + 'example' => '256Mi', + ], + 'HostPathVolumeType' => [ + 'description' => 'The type of the HostPath volume.'."\n", + 'type' => 'string', + 'example' => 'Directory', + ], + 'HostPathVolumePath' => [ + 'description' => 'The path to the HostPath volume on the host.'."\n", + 'type' => 'string', + 'example' => '/pod/data'."\n", + ], + ], + ], + ], + 'ImageRegistryCredentials' => [ + 'description' => 'The image repositories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Password' => [ + 'description' => 'The password of the image repository.'."\n", + 'type' => 'string', + 'example' => 'yourpaasword', + ], + 'Server' => [ + 'description' => 'The domain name of the image repository.'."\n", + 'type' => 'string', + 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com'."\n", + ], + 'UserName' => [ + 'description' => 'The username of the image repository.'."\n", + 'type' => 'string', + 'example' => 'yourusername', + ], + ], + ], + ], + 'DnsConfigOptions' => [ + 'description' => 'The DNS options.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The variable name of the option.'."\n", + 'type' => 'string', + 'example' => 'name', + ], + 'Value' => [ + 'description' => 'The variable value of the option.'."\n", + 'type' => 'string', + 'example' => 'value', + ], + ], + ], + ], + 'HostAliases' => [ + 'description' => 'The custom hostname mappings of a container in the elastic container instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Ip' => [ + 'description' => 'The added IP address.'."\n", + 'type' => 'string', + 'example' => '192.0.XX.XX'."\n", + ], + 'Hostnames' => [ + 'description' => 'The added hostnames.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The added hostname.'."\n", + 'type' => 'string', + 'example' => '[\'hehe.com\', \'haha.com\']'."\n", + ], + ], + ], + ], + ], + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the elastic container instance is run.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The system name of the security context in which the elastic container instance runs.'."\n", + 'type' => 'string', + 'example' => 'kernel.msgmax'."\n", + ], + 'Value' => [ + 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", + 'type' => 'string', + 'example' => '65536', + ], + ], + ], + ], + 'AcrRegistryInfos' => [ + 'description' => 'The information about the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'cri-nwj395hgf6f3****'."\n", + ], + 'InstanceName' => [ + 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'acr-test'."\n", + ], + 'RegionId' => [ + 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou'."\n", + ], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'."\n", + ], + ], + ], + ], + ], + 'DnsConfigNameServers' => [ + 'description' => 'The IP addresses of DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IP address of the DNS server.'."\n", + 'type' => 'string', + 'example' => '172.10.*.**'."\n", + ], + ], + 'DnsConfigSearches' => [ + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The search domain of the DNS server.'."\n", + 'type' => 'string', + 'example' => 'svc.local.kubenetes'."\n", + ], + ], + 'NtpServers' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the NTP server.'."\n", + 'type' => 'string', + 'example' => 'ntp.cloud.aliyuncs.com'."\n", + ], + ], + 'LifecycleState' => [ + 'description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create elastic container instances.'."\n" + .'* Inactive: The scaling configuration is inactive in the scaling group. Inactive scaling configurations are retained in scaling groups. However, Auto Scaling does not use inactive scaling groups to create elastic container instances.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'CostOptimization' => [ + 'description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'InstanceFamilyLevel' => [ + 'description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", + 'type' => 'string', + 'example' => 'EnterpriseLevel', + ], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", + 'type' => 'string', + 'example' => 'ecs.g6.large'."\n", + ], + ], + 'DataCacheBucket' => [ + 'description' => 'The bucket that caches data.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'DataCachePL' => [ + 'description' => 'The performance level (PL) of the cloud disk that caches data. We recommend that you use enhanced SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", + 'type' => 'string', + 'example' => 'PL1'."\n", + ], + 'DataCacheProvisionedIops' => [ + 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that caches data. Valid values: 0 to min{50,000, 1,000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40000', + ], + 'DataCacheBurstingEnabled' => [ + 'description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that caches data. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'EipPublicIpAddressPoolId' => [ + 'description' => 'The ID of the IP address pool.'."\n", + 'type' => 'string', + 'example' => 'pippool-bp187arfugi543y1s****', + ], + 'EipCommonBandwidthPackage' => [ + 'description' => 'The bound EIP bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'cbwp-bp1rxai1z4b1an454xl8m', + ], + 'EipISP' => [ + 'description' => 'The line type of the EIP. Valid values:'."\n" + ."\n" + .'* BGP: BGP (Multi-ISP) lines'."\n" + .'* BGP_PRO: BGP (Multi-ISP) Pro'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + 'ComputeCategory' => [ + 'description' => 'The computing power types. A value of economy indicates that economic instance types are returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The computing power type.'."\n", + 'type' => 'string', + 'example' => 'economy', + ], + ], + ], + ], + 'Output' => [ + 'description' => 'The YAML output of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'Forbidden.RiskControl', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125345', + 'abilityTreeNodes' => [ + 'FEATUREessT4M3WE', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asc-bp16har3jpj6fjbx****', + ], + ], + [ + 'name' => 'ScalingConfigurationName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" + ."\n" + .'The name of a scaling configuration must be unique in the specified region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'test-modify', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => '> This parameter is unavailable for use.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'desc', + ], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'sg-uf66jeqopgqa9hdn****', + ], + ], + [ + 'name' => 'ContainerGroupName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name series of elastic container instances. Naming conventions:'."\n" + ."\n" + .'* The name must be 2 to 128 characters in length.'."\n" + .'* The name can contain only lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'nginx-test', + ], + ], + [ + 'name' => 'RestartPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance restart policy. Valid values:'."\n" + ."\n" + .'* Always: always restarts elastic container instances.'."\n" + .'* Never: never restarts elastic container instances.'."\n" + .'* OnFailure: restarts elastic container instances upon failures.'."\n" + ."\n" + .'Default value: Always.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Always', + ], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of vCPUs per elastic container instance.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-uf66jeqopgqa9hdn****', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'EnableSls', + 'in' => 'query', + 'schema' => [ + 'description' => '> This parameter is not available for use.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ImageSnapshotId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the image cache.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'imc-2zebxkiifuyzzlhl****', + ], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'RamTestRole', + ], + ], + [ + 'name' => 'TerminationGracePeriodSeconds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The buffer period during which the program handles operations before the program is stopped. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically match image caches.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + '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" + ."\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', + ], + ], + [ + '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', + ], + ], + [ + '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" + ."\n" + .'Default value: 5. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '1000000', + 'minimum' => '0', + 'example' => '5', + ], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The hostname series of elastic container instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'version', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '3', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'ImageRegistryCredentials', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The image repositories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => [ + 'description' => 'The password of the image repository.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yourpaasword', + ], + '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, + ], + ], + [ + 'name' => 'Containers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadinessProbe.TimeoutSeconds' => [ + 'description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + '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" + ."\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" + ."\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" + ."\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" + ."\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" + ."\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", + ], + ], + '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"]', + ], + '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', + ], + ], + '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", + ], + ], + '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, + ], + ], + [ + '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, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'DnsConfigNameServers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IP addresses of DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IP address of the DNS server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.10.*.** '."\n", + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'DnsConfigSearchs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The search domains of DNS servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The search domain of the DNS server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'svc.local.kubenetes '."\n", + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + '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', + ], + 'Name' => [ + 'description' => 'The variable name of the option.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'name '."\n", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + '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", + ], + '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", + ], + 'required' => false, + 'maxItems' => 51, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 101, + ], + ], + [ + '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, + ], + 'required' => false, + 'maxItems' => 11, + ], + ], + [ + '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, + ], + ], + [ + 'name' => 'AcrRegistryInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', + ], + '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, + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ContainersUpdateType', + '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', + ], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECS instance type. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.g6.large', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bucket in which data caches are stored.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'Override', + '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', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'Forbidden.RiskControl', + ], + ], + ], + '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", + ], + 'ApplyEciScalingConfiguration' => [ + 'summary' => 'Applies a scaling configuration of the Elastic Container Instance type. If you want to create and manage scaling configurations of the Elastic Container Instance type by using a configuration file, you can call the ApplyEciScalingConfiguration operation.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '212847', + 'abilityTreeNodes' => [ + 'FEATUREessWJGIW5', + 'FEATUREessT4M3WE', + ], + ], + 'parameters' => [ + [ + 'name' => 'Content', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The content of the configuration file.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration.'."\n" + ."\n" + .'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'asc-bp1i65jd06v04vdh****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ScalingConfigurationId' => [ + 'description' => 'The ID of the scaling configuration.'."\n", + 'type' => 'string', + 'example' => 'asc-bp16har3jpj6fjbx****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125381', + 'abilityTreeNodes' => [ + 'FEATUREessTZHE2G', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asc-bp1bx8mzur534edp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n" + ."\n" + .'The request ID is consistently returned in the response, irrespective of whether the request is executed successfully or encounters an error.'."\n", + 'type' => 'string', + 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.RiskControl', + 'errorMessage' => 'Forbidden.RiskControl', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '221452', + 'abilityTreeNodes' => [ + 'FEATUREessWJGIW5', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the vSwitches.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the vSwitch.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp14zolna43z266bq****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The zone IDs. If you pass vSwitch IDs to the system, this parameter does not take effect.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The zone ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The preemption policy that you want to apply to pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as regular pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are created as preemptible instances that have a user-defined maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bidding price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NoSpot', + ], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of vCPUs that you want to assign to the instance type.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => [ + 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MaxPrice', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum hourly price for pay-as-you-go or preemptible instances.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => [ + 'description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level'."\n" + .'* EnterpriseLevel: enterprise level'."\n" + .'* CreditEntryLevel: credit-based entry level For more information, see [Burstable instance families](~~59977~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'EnterpriseLevel', + ], + ], + [ + 'name' => 'ExcludedInstanceType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance types that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n" + ."\n" + .'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" + ."\n" + .'> If you want to exclude multiple instance types, separate the instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type that you want to exclude. You can use wildcard characters, such as an asterisk (\\*), to exclude an instance type or an instance family. Examples:'."\n" + ."\n" + .'* ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" + ."\n" + .'> If you want to exclude multiple instance types, separate the instance types with delimiters (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecs.c6.xlarge', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Architecture', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The architecture types of the instance types. Valid values:'."\n" + ."\n" + .'* X86: x86 architecture.'."\n" + .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" + .'* BareMetal: ECS Bare Metal Instance.'."\n" + .'* Arm: Arm.'."\n" + ."\n" + .'By default, all values are selected.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'* X86: x86 architecture.'."\n" + .'* Heterogeneous: heterogeneous computing, such as GPU-accelerated or FPGA-accelerated.'."\n" + .'* BareMetal: ECS Bare Metal Instance.'."\n" + .'* Arm: Arm.'."\n" + ."\n" + .'By default, all values are selected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'X86', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'BurstablePerformance', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + ."\n" + .'* Exclude: does not include burstable instance types.'."\n" + .'* Include: includes burstable instance types.'."\n" + .'* Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Include', + ], + ], + [ + 'name' => 'CoresList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The number of vCPUs that you want to assign to the instance type. You can specify multiple vCPUs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'MemoryList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The memory size that you want to assign to the instance type. Unit: GiB. You can specify multiple memory sizes.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ChannelId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The channel ID. This parameter is not for public use.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '79425074', + ], + ], + [ + 'name' => 'InstanceTypeFamilies', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance families that you want to query. You can query 1 to 10 instance families in each call.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance family that you want to query. You can query 1 to 10 instance families in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'MinimumCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of vCPUs per instance type.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MaximumCpuCoreCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of vCPUs per instance type.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'GpuSpecs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The GPU models.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The GPU model.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["NVIDIA V100"]', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'InstanceCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The classifications of the instance types. Valid values:'."\n" + ."\n" + .'* General-purpose: general-purpose instance type.'."\n" + .'* Compute-optimized: compute-optimized instance type.'."\n" + .'* Memory-optimized: memory-optimized instance type.'."\n" + .'* Big data: big data instance type.'."\n" + .'* Local SSDs: instance type with local SSDs.'."\n" + .'* High Clock Speed: instance type with high clock speeds.'."\n" + .'* Enhanced: enhanced instance type.'."\n" + .'* Shared: shared instance type.'."\n" + .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" + .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" + .'* Heterogeneous Service: heterogeneous service instance type.'."\n" + .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" + .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" + .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" + .'* High Performance Compute: HPC-optimized instance type.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The classification of the instance type. Valid values:'."\n" + ."\n" + .'* General-purpose: general-purpose instance type.'."\n" + .'* Compute-optimized: compute-optimized instance type.'."\n" + .'* Memory-optimized: memory-optimized instance type.'."\n" + .'* Big data: big data instance type.'."\n" + .'* Local SSDs: instance type with local SSDs.'."\n" + .'* High Clock Speed: instance type with high clock speeds.'."\n" + .'* Enhanced: enhanced instance type.'."\n" + .'* Shared: shared instance type.'."\n" + .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" + .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" + .'* Heterogeneous Service: heterogeneous service instance type.'."\n" + .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" + .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" + .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" + .'* High Performance Compute: HPC-optimized instance type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["Compute-optimized with GPU"]', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'CpuArchitectures', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The CPU architectures of the instance types. Valid values:'."\n" + ."\n" + .'> You can specify 1 to 2 CPU architectures.'."\n" + ."\n" + .'* x86'."\n" + .'* Arm'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CPU architecture of the instance type. Valid values:'."\n" + ."\n" + .'> You can specify 1 to 2 CPU architectures.'."\n" + ."\n" + .'* x86'."\n" + .'* Arm'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["X86", "ARM"]', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'PhysicalProcessorModels', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The processor models of the instance types. You can specify 1 to 10 processor models.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The processor model of the instance type. You can specify 1 to 10 processor models.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'MinimumEniQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MinimumEniPrivateIpAddressQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MinimumEniIpv6AddressQuantity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MinimumInitialCredit', + 'in' => 'query', + 'schema' => [ + 'description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'MinimumBaselineCredit', + 'in' => 'query', + 'schema' => [ + 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '12', + ], + ], + [ + 'name' => 'MinimumMemorySize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MaximumMemorySize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '4', + ], + ], + [ + 'name' => 'MinimumGpuAmount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'MaximumGpuAmount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PatternTypes' => [ + 'description' => 'The instance types that meet the specified requirements.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => [ + 'description' => 'The name of the instance type.'."\n", + 'type' => 'string', + 'example' => 'ecs.c7.xlarge', + ], + 'InstanceFamilyLevel' => [ + 'description' => 'The level of the instance family.'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types) Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", + 'type' => 'string', + 'example' => 'EnterpriseLevel', + ], + 'InstanceTypeFamily' => [ + 'description' => 'The instance family.'."\n", + 'type' => 'string', + 'example' => 'ecs.c7', + ], + 'Cores' => [ + 'description' => 'The number of vCPUs that are assigned to the instance type.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'Memory' => [ + 'description' => 'The memory size that are assigned to the instance type. Unit: GiB.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '8', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PatternTypes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.xlarge\\",\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypeFamily\\": \\"ecs.c7\\",\\n \\"Cores\\": 4,\\n \\"Memory\\": 8\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePatternTypes', + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125334', + 'abilityTreeNodes' => [ + 'FEATUREessRTZKQT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + ], + [ + '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****', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'MinAdjustmentMagnitude', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AdjustmentType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scaling method of the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'QuantityChangeInCapacity', + ], + ], + [ + 'name' => 'AdjustmentValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of instances that must be scaled based on the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" + ."\n" + .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: a simple scaling rule. After you execute a simple scaling rule, Auto Scaling adjusts the number of ECS instances or elastic container instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" + .'* TargetTrackingScalingRule: a target tracking scaling rule. After you execute a target tracking scaling rule, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the expected value (TargetValue).'."\n" + .'* StepScalingRule: a step scaling rule. After you execute a step scaling rule, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" + .'* PredictiveScalingRule: a predictive scaling rule. After you execute a predictive scaling rule, Auto Scaling uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n" + ."\n" + .'Default value: SimpleScalingRule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SimpleScalingRule', + 'default' => 'SimpleScalingRule', + ], + ], + [ + 'name' => 'EstimatedInstanceWarmup', + 'in' => 'query', + 'schema' => [ + 'description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" + ."\n" + .'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: 300.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The predefined metric that you want to monitor. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to TargetTrackingScalingRule:'."\n" + ."\n" + .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" + .'* MemoryUtilization (recommended): the memory usage.'."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* VpcInternetTx: the outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" + .'* VpcInternetRx: the inbound traffic from the Internet to a VPC.'."\n" + .'* LoadBalancerRealServerAverageQps:the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to PredictiveScalingRule:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CpuUtilization', + ], + ], + [ + 'name' => 'TargetValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target value. This parameter is required only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.125', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'StepAdjustments', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => [ + 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '5.0', + ], + '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 specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AlarmDimensions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The metric dimensions. This parameter is applicable to target tracking scaling rules. If your predefined metric requires extra dimensions, you must specify this parameter. For example, if you use LoadBalancerRealServerAverageQps as your predefined metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + '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, + ], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun-test', + ], + ], + [ + 'name' => 'HybridMetrics', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The reference ID of the metric in the metric expression.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a', + ], + 'Expression' => [ + 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(a+b)/2', + ], + 'MetricName' => [ + 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunSmq_NumberOfMessagesVisible', + ], + 'Statistic' => [ + 'description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of all metric values within a specified interval.'."\n" + .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" + .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'queue', + ], + 'DimensionValue' => [ + 'description' => 'The value of the metric dimension.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testQueue', + ], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'AlarmOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Period' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingRuleAri' => [ + 'description' => 'The unique identifier of the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + ], + '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****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125391', + 'abilityTreeNodes' => [ + 'FEATUREessRTZKQT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling rule that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asr-bp1dvirgwkoowxk7****', + ], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scaling rule. The name must be 2 to 64 letters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n" + ."\n" + .'The name of each scaling rule must be unique under the same account within the same region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scalingrule****', + ], + ], + [ + 'name' => 'Cooldown', + 'in' => 'query', + 'schema' => [ + 'description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'MinAdjustmentMagnitude', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of instances to scale. This parameter takes effect only if you create a simple scaling rule or step scaling rule and set `AdjustmentType` to `PercentChangeInCapacity`.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AdjustmentType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The adjustment method of the scaling rule. This is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'QuantityChangeInCapacity', + ], + ], + [ + 'name' => 'AdjustmentValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target value specified in the scaling rule. This parameter is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" + ."\n" + .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'EstimatedInstanceWarmup', + 'in' => 'query', + 'schema' => [ + 'description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" + ."\n" + .'> Auto Scaling calculates the number of ECS instances that need to be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The predefined metric. This parameter is required only if you create a target tracking scaling rule or predictive scaling rule.'."\n" + ."\n" + .'Valid values if you create a target tracking scaling rule:'."\n" + ."\n" + .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" + .'* MemoryUtilization (recommended): the memory usage.'."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* VpcInternetTx: the average outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" + .'* VpcInternetRx: the average inbound traffic from the Internet to a VPC.'."\n" + .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" + ."\n" + .'Valid values if you create a predictive scaling rule:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CpuUtilization', + ], + ], + [ + 'name' => 'TargetValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target value. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.125', + ], + ], + [ + 'name' => 'DisableScaleIn', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ScaleInEvaluationCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '15', + ], + ], + [ + 'name' => 'ScaleOutEvaluationCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'PredictiveScalingMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" + .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PredictAndScale', + ], + ], + [ + 'name' => 'PredictiveValueBehavior', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies which one of the initial maximum capacity and the predicted value can be used as the maximum value for prediction tasks. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'MaxOverridePredictiveValue', + ], + ], + [ + 'name' => 'PredictiveValueBuffer', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ratio based on which the predicted value is increased when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'PredictiveTaskBufferTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'InitialMaxSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'StepAdjustments', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => [ + 'description' => 'The upper limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '5.0', + ], + 'ScalingAdjustment' => [ + 'description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + 'MetricIntervalLowerBound' => [ + 'description' => 'The lower limit that is specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'AlarmDimensions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The dimension key of the metric.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rulePool', + ], + 'DimensionValue' => [ + 'description' => 'The dimension value of the metric.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sgp-l1cbirz451yxu2dxxx', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'system', + ], + ], + [ + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun-test', + ], + ], + [ + 'name' => 'HybridMetrics', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The reference ID of the metric in the metric expression.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a', + ], + 'Expression' => [ + 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(a+b)/2', + ], + 'MetricName' => [ + 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AliyunSmq_NumberOfMessagesVisible', + ], + 'Statistic' => [ + 'description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of all metric values within a specified interval.'."\n" + .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" + .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'queue', + ], + 'DimensionValue' => [ + 'description' => 'The value of the metric dimension.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testQueue', + ], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'AlarmOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The alert attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Period' => [ + 'description' => 'The statistical period of the metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> Default value: 60.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyScalingRule', + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125364', + 'abilityTreeNodes' => [ + 'FEATUREessRL7GKO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scaling rules that you want to query belong.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.'."\n" + .'* TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.'."\n" + .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" + .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SimpleScalingRule', + ], + ], + [ + 'name' => 'ShowAlarmRules', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ScalingRuleIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scaling rules that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the scaling rules that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asr-bp1dvirgwkoowxk7****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ScalingRuleNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The names of the scaling rules that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The names of the scaling rules that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scalingrule****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ScalingRuleAris', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The unique identifiers of the scaling rules that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'TotalCount' => [ + 'description' => 'The total number of scaling rules.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScalingRules' => [ + 'description' => 'The scaling rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => [ + 'description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'CpuUtilization', + ], + 'AdjustmentType' => [ + 'description' => 'The adjustment method of the scaling rule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds or removes the specified number of Elastic Compute Service (ECS) instances to or from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds or removes the specified percentage of ECS instances to or from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", + 'type' => 'string', + 'example' => 'QuantityChangeInCapacity', + ], + 'InitialMaxSize' => [ + 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify this parameter, you must also specify PredictiveValueBehavior.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'EstimatedInstanceWarmup' => [ + 'description' => 'The warm-up period of instances. During the warm-up period, a series of preparation measures are taken for the new instances. Performance metrics of instances being warmed up are not counted towards the monitoring range.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + ], + 'ScaleOutEvaluationCount' => [ + 'description' => 'The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'PredictiveScalingMode' => [ + 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" + .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", + 'type' => 'string', + 'example' => 'PredictAndScale', + ], + 'MinAdjustmentMagnitude' => [ + 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect only if you set ScalingRuleType to SimpleScalingRule or StepScalingRule and set AdjustmentType to PercentChangeInCapacity.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScalingRuleAri' => [ + 'description' => 'The unique identifier of the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + ], + 'PredictiveTaskBufferTime' => [ + 'description' => 'The amount of buffer time before prediction tasks are executed. By default, all prediction tasks that are automatically created based on a predictive scaling rule are executed on the hour. You can specify a buffer time for resource preparation before prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'MinSize' => [ + 'description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + 'PredictiveValueBehavior' => [ + 'description' => 'The action on the predicted maximum value. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by PredictiveValueBuffer, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.'."\n", + 'type' => 'string', + 'example' => 'MaxOverridePredictiveValue', + ], + 'TargetValue' => [ + 'description' => 'The target value of the metric. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, Auto Scaling keeps the metric value close to the target value by adding instances to or removing instances from the scaling group.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.125', + ], + 'Cooldown' => [ + 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'MaxSize' => [ + 'description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PredictiveValueBuffer' => [ + 'description' => 'The ratio based on which the predicted value is increased when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'ScalingRuleType' => [ + 'description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: a simple scaling rule. Once a simple scaling rule is executed, Auto Scaling adjusts the number of ECS instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" + .'* TargetTrackingScalingRule: a target tracking scaling rule. Once a target tracking scaling rule is executed, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the specified target value (TargetValue).'."\n" + .'* StepScalingRule: a step scaling rule. Once a step scaling rule is executed, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" + .'* PredictiveScalingRule: a predictive scaling rule. Once a predictive scaling rule is executed, Auto Scaling analyzes the historical monitoring data based on the machine learning technology and predicts the trends of metric data. Auto Scaling also creates scheduled tasks to enable dynamic adjustment of the boundary values for the scaling group.'."\n", + 'type' => 'string', + 'example' => 'SimpleScalingRule', + ], + 'AdjustmentValue' => [ + 'description' => 'The number of instances that must be scaled based on the scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScaleInEvaluationCount' => [ + 'description' => 'The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '15', + ], + 'DisableScaleIn' => [ + 'description' => 'Indicates whether scale-in is disabled. This parameter takes effect only if you set ScalingRuleType to TargetTrackingScalingRule. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ScalingRuleName' => [ + 'description' => 'The name of the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'scalingrule****', + ], + 'ScalingRuleId' => [ + 'description' => 'The ID of the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'asr-bp1dvirgwkoowxk7****', + ], + 'Alarms' => [ + 'description' => 'The event-triggered tasks that are associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The event-triggered task that is associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => [ + 'description' => 'The ID of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****', + ], + 'ComparisonOperator' => [ + 'description' => 'The comparison operator between the statistical value and the threshold of the metric of the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >='."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <='."\n" + .'* Valid value if the metric value is greater than the threshold: >'."\n" + .'* Valid value if the metric value is less than the threshold: <'."\n", + 'type' => 'string', + 'example' => '>=', + ], + 'MetricName' => [ + 'description' => 'The name of the metric of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'CpuUtilization', + ], + 'EvaluationCount' => [ + 'description' => 'The number of consecutive times when the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'AlarmTaskName' => [ + 'description' => 'The name of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'alarmtask****', + ], + 'MetricType' => [ + 'description' => 'The type of the metric of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* system: system metrics'."\n" + .'* custom: custom metrics'."\n", + 'type' => 'string', + 'example' => 'system', + ], + 'Threshold' => [ + 'description' => 'The alert threshold of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '50', + ], + 'Statistics' => [ + 'description' => 'The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Maximum'."\n" + .'* Minimum'."\n", + 'type' => 'string', + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of the dimension that is associated with the metric. Valid values:'."\n" + ."\n" + .'* ScalingGroupId: the ID of the scaling group.'."\n" + .'* userId: the ID of the user account.'."\n", + 'type' => 'string', + 'example' => 'scaling_group', + ], + 'DimensionValue' => [ + 'description' => 'The value of the dimension that is associated with the metric.'."\n", + 'type' => 'string', + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + ], + ], + 'Period' => [ + 'description' => 'The statistical period of the metric data in the target tracking scaling rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + ], + ], + ], + 'StepAdjustments' => [ + 'description' => 'The step adjustments of the step scaling rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The step adjustments of the step scaling rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => [ + 'description' => 'The upper limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '5.0', + ], + 'ScalingAdjustment' => [ + 'description' => 'The number of ECS instances that are scaled in a step adjustment.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MetricIntervalLowerBound' => [ + 'description' => 'The lower limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '1.0', + ], + ], + ], + ], + 'AlarmDimensions' => [ + 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The dimension key of the metric.'."\n", + 'type' => 'string', + 'example' => 'rulePool', + ], + 'DimensionValue' => [ + 'description' => 'The dimension value of the metric.'."\n", + 'type' => 'string', + 'example' => 'sgp-l1cbirz451yxu2dxxx', + ], + ], + 'description' => '', + ], + ], + 'MetricType' => [ + 'description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'example' => 'system', + ], + 'HybridMonitorNamespace' => [ + 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", + 'type' => 'string', + 'example' => 'aliyun-test', + ], + 'HybridMetrics' => [ + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The reference ID of the metric in the metric expression.'."\n", + 'type' => 'string', + 'example' => 'a', + ], + 'Expression' => [ + 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", + 'type' => 'string', + 'example' => '(a+b)/2', + ], + 'MetricName' => [ + 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", + 'type' => 'string', + 'example' => 'AliyunSmq_NumberOfMessagesVisible', + ], + 'Statistic' => [ + 'description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" + .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" + .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", + 'type' => 'string', + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'example' => 'queue', + ], + 'DimensionValue' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'example' => 'testQueue', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125395', + 'abilityTreeNodes' => [ + 'FEATUREessRTZKQT', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling rule that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asr-bp163l21e07uhnyt****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleAri', + 'in' => 'query', + 'schema' => [ + 'description' => 'The unique identifier of the scaling rule.'."\n" + ."\n" + .'> You can call this operation to execute simple scaling rules and step scaling rules. If you want to call this operation to execute a step scaling rule, you must specify `BreachThreshold` and `MetricValue`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'BreachThreshold', + 'in' => 'query', + 'schema' => [ + 'description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + [ + 'name' => 'MetricValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric value specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '1.0', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-bp13o672yeautiil****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125372', + 'abilityTreeNodes' => [ + 'FEATUREessSQIS9M', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'asg-j6c1o397427hyjdc****', + ], + ], + [ + 'name' => 'AdjustmentType', + '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', + ], + ], + [ + 'name' => 'AdjustmentValue', + '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, + ], + ], + [ + 'name' => 'MinAdjustmentMagnitude', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of instances allowed in each adjustment. This parameter takes effect only if you set the `AdjustmentType` parameter to `PercentChangeInCapacity`.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'SyncActivity', + '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', + ], + ], + [ + 'name' => 'ParallelTask', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the current scale-out task supports concurrency.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Overrides', + '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, + ], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', + '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, + ], + ], + [ + 'name' => 'ActivityMetadata', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metadata of the scaling activity.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"key":"value"}', + ], + ], + [ + 'name' => 'ExecutionMode', + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + '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' => '', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125356', + 'abilityTreeNodes' => [ + 'FEATUREessBFHJ1B', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'Entrusted', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to use the scaling group to manage the lifecycles of manually added instances. Valid values:'."\n" + ."\n" + .'* true: The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" + .'* false: The scaling group does not manage the lifecycles of manually added instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" + ."\n" + .'> You cannot specify this parameter for subscription instances, non-Alibaba Cloud instances, and instances in Economical Mode.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ECS instance, elastic container instance, non-Alibaba Cloud instance, or instance in Economical Mode.'."\n" + ."\n" + .'Sample IDs:'."\n" + ."\n" + .'* ECS instance: i-28wt4\\*\\*\\*\\*.'."\n" + .'* Elastic container instance: eci-bp17gw49eu09yiwm\\*\\*\\*\\*.'."\n" + .'* Non-Alibaba Cloud instance: mi-2cx\\*\\*\\*\\*\\*.'."\n" + .'* ECS instance in Economical Mode: i-2cd2f\\*\\*\\*\\*.'."\n" + ."\n" + .'> You can add only instances of the same type to a scaling group at a time in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-28wt4****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LoadBalancerWeights', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 1 to 100.'."\n" + ."\n" + .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LifecycleHook', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to trigger the lifecycle hook for scale-outs when you call this operation. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to ignore invalid instances when a batch of instances is added to the scaling group. Valid values:'."\n" + ."\n" + .'* true: ignores invalid instances. If invalid instances exist and valid instances are added, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" + .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to add to the scaling group, an error is reported.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-bp1crxor24s28xf1****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '125337', + 'abilityTreeNodes' => [ + 'FEATUREessDFX5TO', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RemovePolicy', + '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', + ], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + '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', + ], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'* true: ignores invalid instances. If invalid instances exist and valid instances are 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', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances that you want to remove from the scaling group.'."\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****', + ], + 'required' => true, + 'maxItems' => 1000, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. 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****', + ], + ], + [ + '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" + .'* 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', + ], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125382', + 'abilityTreeNodes' => [ + 'FEATUREessDFX5TO', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to adjust the expected number of instances in the scaling group. Valid values:'."\n" + ."\n" + .'* true: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group decreases.'."\n" + .'* false: After a specific number of instances are removed from the scaling group, the expected number of instances in the scaling group remains unchanged.'."\n" + ."\n" + .'Default value: true.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DetachOption', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to detach the ECS instances or elastic container instances that are marked for removal from the associated load balancers, and whether to remove the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" + ."\n" + .'Both: detaches the ECS instances or elastic container instances that are marked for removal from the associated load balancers and removes the private IP addresses of these instances from the IP address whitelists of the associated ApsaraDB RDS instances.'."\n" + ."\n" + .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'both', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances, elastic container instances, or Aliababa Cloud-managed third-party instances that you want to remove from a scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ECS instance, elastic container instance, or Aliababa Cloud-managed third-party instance that you want to remove from a scaling group.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'* ECS instance: `i-bp109k5j3dum1ce6****`'."\n" + .'* Elastic container instance: `eci-bp17gw49eu09yiwm****`'."\n" + .'* Alibaba Cloud-hosted third-party instance: `mi-d23fsd******`'."\n" + ."\n" + .'> You can remove only one type of instances at a time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp109k5j3dum1ce6****', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'LifecycleHook', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to trigger a lifecycle hook for scale-in purposes when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> This parameter is not supported if you want to remove Alibaba Cloud-hosted third-party instances from a scaling group.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'* true: ignores invalid instances. If invalid instances exist and valid instances are removed from the scaling group, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" + .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-bp1gbswjhjrw8tko****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + ], + ], + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125330', + 'abilityTreeNodes' => [ + 'FEATUREess30IPAO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scheduled task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ScheduledTaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n" + ."\n" + .'If you do not specify this parameter, the value of the `ScheduledTaskId` parameter is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scheduled****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test scheduled task.', + ], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Specify the unique identifier of the scaling rule.'."\n" + ."\n" + .'If you specify `ScheduledAction`, the scheduled task uses an existing scaling rule. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', + ], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.'."\n" + ."\n" + .'The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is created.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2014-08-17T16:55Z', + ], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The point in time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard. The time must be in UTC. You cannot trigger a scheduled task more than 90 days after its creation.'."\n" + ."\n" + .'* If you specify `RecurrenceType`, the scheduled task is repeatedly triggered at the point in time that is specified by LaunchTime.'."\n" + .'* If you do not specify `RecurrenceType`, the scheduled task is triggered only once at the time point that is specified by LaunchTime.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '2014-08-17T16:52Z', + ], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" + ."\n" + .'* Daily: The scheduled task is executed once every specified number of days.'."\n" + .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" + .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" + .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Daily', + ], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of recurrences of the scheduled task.'."\n" + ."\n" + .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" + .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" + .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" + ."\n" + .'You must specify both the `RecurrenceType` parameter and the `RecurrenceValue` parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the scheduled task.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time period during which the failed scheduled task can be retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '86400', + 'minimum' => '0', + 'example' => '600', + 'default' => '600', + ], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" + ."\n" + .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group. If you specify this parameter, the number of instances in the scaling group will be changed when the scheduled task is triggered.'."\n" + ."\n" + .'If you specify `ScalingGroupId`, you must also specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScheduledTaskId' => [ + 'description' => 'The globally unique ID of the scheduled task. The globally unique ID is generated by the system.'."\n", + 'type' => 'string', + 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125370', + 'abilityTreeNodes' => [ + 'FEATUREessAWW1X1', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + ], + [ + 'name' => 'ScheduledTaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scheduled****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test scheduled task.', + ], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Enter the ID of the scaling rule. To obtain the ID of a scaling rule, go to the scaling rule details page. If you specify `ScheduledAction`, you must select an existing scaling rule for the scheduled task.'."\n" + ."\n" + .'> You can specify only one of `ScheduledAction` and `ScalingGroupId`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', + ], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is modified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2014-08-20T16:55Z', + ], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The point in time at which the scheduled task is triggered. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the point in time at which the scheduled task is modified.'."\n" + ."\n" + .'* If you specify the `RecurrenceType` parameter, the task is repeatedly executed at the time point that is specified by the LaunchTime parameter.'."\n" + .'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the point in time that is specified by the LaunchTime parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2014-08-18T10:52Z', + ], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which the scheduled task is repeated. Valid values:'."\n" + ."\n" + .'* Daily: The scheduled task is executed once every specified number of days.'."\n" + .'* Weekly: The scheduled task is executed on each specified day of the week.'."\n" + .'* Monthly: The scheduled task is executed on each specified day of the month.'."\n" + .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Daily', + ], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of recurrences of the scheduled task.'."\n" + ."\n" + .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" + .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" + .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" + ."\n" + .'After you modify the scheduled task, the values that you specify for the `RecurrenceType` and `RecurrenceValue` parameters must be valid at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '86400', + 'minimum' => '0', + 'example' => '600', + ], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" + ."\n" + .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group whose number of instances must be modified when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, you must specify the minimum, maximum, or expected numbers of instances for a scaling group in the scheduled task. That is, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" + ."\n" + .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Throttling', + 'errorMessage' => 'Request was denied due to request throttling.', + ], + ], + ], + '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", + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125344', + 'abilityTreeNodes' => [ + 'FEATUREessAWW1X1', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the scheduled task belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '50', + 'default' => '10', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1bo5tca4m56nap****', + ], + ], + [ + 'name' => 'ScheduledActions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The scaling rules of the scheduled tasks. Once the scheduled tasks are triggered, the scaling rules are executed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling rule of the scheduled task. Once the scheduled task is triggered, the scaling rule is executed.'."\n" + ."\n" + .'Set the value to the unique identifier of the scaling rule (ScalingRuleAri).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ScheduledTaskIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scheduled task that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ScheduledTaskNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The names of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the scheduled task that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scheduled****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'scheduled****', + ], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which scheduled task N is repeatedly executed. Valid values:'."\n" + ."\n" + .'* Daily: Scheduled task N is executed once every specified number of days.'."\n" + .'* Weekly: Scheduled task N is executed on each specified day of a week.'."\n" + .'* Monthly: Scheduled task N is executed on each specified day of a month.'."\n" + .'* Cron: Scheduled task N is executed based on the specified Cron expression.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Weekly', + ], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of times scheduled task N is repeatedly executed.'."\n" + ."\n" + .'You can specify this parameter only if you set RecurrenceType to Weekly. Separate multiple values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1,2,3', + ], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether scheduled task N is enabled.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'TotalCount' => [ + 'description' => 'The total number of scheduled tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ScheduledTasks' => [ + 'description' => 'The information collection of the scheduled tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the scheduled tasks.'."\n", + 'type' => 'object', + 'properties' => [ + 'TaskEnabled' => [ + 'description' => 'Indicates whether the scheduled task is enabled.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: true.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'RecurrenceValue' => [ + 'description' => 'The frequency of recurrence of the scheduled task.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'RecurrenceType' => [ + 'description' => 'The recurring interval of the scheduled task.'."\n", + 'type' => 'string', + 'example' => 'Daily', + ], + 'MaxValue' => [ + 'description' => 'The maximum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ScheduledTaskName' => [ + 'description' => 'The name of the scheduled task.'."\n", + 'type' => 'string', + 'example' => 'scheduled****', + ], + 'RecurrenceEndTime' => [ + 'description' => 'The end time of the recurrence of the scheduled task.'."\n", + 'type' => 'string', + 'example' => '2014-08-20T16:55Z', + ], + 'DesiredCapacity' => [ + 'description' => 'The expected number of instances in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'ScheduledTaskId' => [ + 'description' => 'The ID of the scheduled task.'."\n", + 'type' => 'string', + 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + 'MinValue' => [ + 'description' => 'The minimum number of instances that must be contained in the scaling group. If you set `Scaling Method` to `Configure Number of Instances in Scaling Group`, you can specify this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1bo5tca4m56nap****', + ], + 'LaunchExpirationTime' => [ + 'description' => 'The time window during which the scheduled task can be retried. Unit: seconds. Valid values: 0 to 21600.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '600', + ], + 'Description' => [ + 'description' => 'The description of the scheduled task.'."\n", + 'type' => 'string', + 'example' => 'Test scheduled task.', + ], + 'ScheduledAction' => [ + 'description' => 'The scaling rule of the scheduled task. A value is returned for this parameter only after you specify ScheduledActions.'."\n", + 'type' => 'string', + 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + ], + 'LaunchTime' => [ + 'description' => 'The point in time at which the scheduled task is triggered.'."\n", + 'type' => 'string', + 'example' => '2014-08-18T10:52Z', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125331', + 'abilityTreeNodes' => [ + 'FEATUREess30IPAO', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled task. An ID is a globally unique identifier (GUID) that is generated by the system for a scheduled task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'edRtShc57WGXdt8TlPbr****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scheduled task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteScheduledTask', + ], + 'CreateAlarm' => [ + 'summary' => 'Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125363', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestAlarmTask', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test alarm task.', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The scaling group ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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' => '>=', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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 * * ?', + ], + ], + [ + 'name' => 'AlarmActions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Dimensions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The metric dimensions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The metric dimensions.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The dimension key of the metric. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that 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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Expressions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the multi-metric alert rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => [ + 'description' => 'The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * ConcurrentConnections: the number of concurrent connections.'."\n" + .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadAverage: the average system load.'."\n" + .' * TcpConnection: the total number of TCP connections.'."\n" + .' * TcpConnection: the number of established TCP connections.'."\n" + .' * PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CpuUtilization', + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => [ + 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered 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' => '&&', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125355', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group with which the event-triggered task is associated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the event-triggered task. Valid values:'."\n" + ."\n" + .'* ALARM: The alert condition is met and an alert is triggered.'."\n" + .'* OK: The alert condition is not met.'."\n" + .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'OK', + ], + ], + [ + 'name' => 'IsEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the event-triggered task. Valid values:'."\n" + ."\n" + .'* true: enables the event-triggered task.'."\n" + .'* false: disables the event-triggered task.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: a system metric of CloudMonitor'."\n" + .'* custom: a custom metric that is reported to CloudMonitor.'."\n" + .'* hybrid: a metric of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + 'default' => 'system', + ], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CpuUtilization', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'default' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TotalCount' => [ + 'description' => 'The total number of event-triggered tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'AlarmList' => [ + 'description' => 'The event-triggered tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The event-triggered task.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + 'MetricName' => [ + 'description' => 'The metric name. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the CPU utilization of an Elastic Compute Service (ECS) instance. Unit: %.'."\n" + .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" + .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .'* VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" + .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .'* MemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadAverage: the average system load.'."\n" + .'* TcpConnection: the total number of TCP connections.'."\n" + .'* TcpConnection: the number of established TCP connections.'."\n" + .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", + 'type' => 'string', + 'example' => 'CpuUtilization', + ], + 'EvaluationCount' => [ + 'description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'State' => [ + 'description' => 'The status of the event-triggered task. Valid values:'."\n" + ."\n" + .'* ALARM: The alert condition is met and an alert is triggered.'."\n" + .'* OK: The alert condition is not met.'."\n" + .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", + 'type' => 'string', + 'example' => 'ALARM', + ], + 'Period' => [ + 'description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set the value of this parameter to 15 Seconds only for scaling groups of the ECS type.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group to which the event-triggered task is associated.'."\n", + 'type' => 'string', + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + 'ComparisonOperator' => [ + 'description' => 'The operator that is used to compare the metric value and the metric threshold.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" + .'* Valid value if the metric value is greater than the threshold: >.'."\n" + .'* Valid value if the metric value is less than the threshold: <.'."\n", + 'type' => 'string', + 'example' => '>=', + ], + 'Effective' => [ + 'description' => 'The effective period of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'Test', + ], + 'Description' => [ + 'description' => 'The description of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'Test alarm task.', + ], + 'MetricType' => [ + 'description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'example' => 'system', + ], + 'Name' => [ + 'description' => 'The name of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'TestAlarmTask', + ], + 'Threshold' => [ + 'description' => 'The threshold of the metric. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '80.0', + ], + 'Enable' => [ + 'description' => 'Indicates whether the event-triggered task feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Statistics' => [ + 'description' => 'The method that is used to aggregate the metric data. Valid values:'."\n" + ."\n" + .'* Average: the average value'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n", + 'type' => 'string', + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The metric dimensions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the dimensions.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The dimension key of the metric. Valid values:'."\n" + ."\n" + .'* user_id: the ID of your Alibaba Cloud account.'."\n" + .'* scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" + .'* device: the NIC type.'."\n" + .'* state: the status of the TCP connection.'."\n", + 'type' => 'string', + 'example' => 'device', + ], + 'DimensionValue' => [ + 'description' => 'The dimension value of the metric. The value of DimensionValue varies based on the value of DimensionKey.'."\n" + ."\n" + .'* If you set DimensionKey to `user_id`, the system specifies the value of DimensionValue.'."\n" + ."\n" + .'* If you set DimensionKey to `scaling_group`, the system specifies the value of DimensionValue.'."\n" + ."\n" + .'* If you set DimensionKey to `device`, you can set DimensionValue to eth0 or eth1.'."\n" + ."\n" + .' * For instances of the classic network type, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * For instances of the classic network type, eth1 indicates the public NIC.'."\n" + ."\n" + .'* If you set DimensionKey to `state`, you can set DimensionValue to TCP_TOTAL or ESTABLISHED.'."\n" + ."\n" + .' * TCP_TOTAL indicates the total number of TCP connections.'."\n" + .' * ESTABLISHED indicates the number of TCP connections that are established.'."\n", + 'type' => 'string', + 'example' => 'eth0', + ], + ], + ], + ], + 'AlarmActions' => [ + 'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The unique identifier of the scaling rule that is associated with the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', + ], + ], + 'Expressions' => [ + 'description' => 'The alert conditions of the multi-metric alert rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => [ + 'description' => 'The name of the metric that is specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .'* ConcurrentConnections: the number of current connections to an ECS instance.'."\n" + .'* IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .'* IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .'* VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" + .'* VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .'* SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .'* SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .'* SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .'* SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .'* CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .'* GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .'* GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .'* GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .'* MemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadAverage: the average system load.'."\n" + .'* TcpConnection: the total number of TCP connections.'."\n" + .'* TcpConnection: the number of established TCP connections.'."\n" + .'* PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .'* PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .'* PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .'* EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .'* EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .'* LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", + 'type' => 'string', + 'example' => 'CpuUtilization', + ], + 'ComparisonOperator' => [ + 'description' => 'The operator that is used to compare the metric value and the threshold.'."\n" + ."\n" + .'* Valid value if the metric value is greater than or equal to the threshold: >=.'."\n" + .'* Valid value if the metric value is less than or equal to the threshold: <=.'."\n" + .'* Valid value if the metric value is greater than the threshold: >.'."\n" + .'* Valid value if the metric value is less than the threshold: <.'."\n", + 'type' => 'string', + 'example' => '>=', + ], + 'Period' => [ + 'description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set Period to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '900', + ], + 'Statistics' => [ + 'description' => 'The method that is used to aggregate statistics about the metrics in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average: the average value'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n", + 'type' => 'string', + 'example' => 'Average', + ], + 'Threshold' => [ + 'description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '40.0', + ], + ], + ], + ], + 'ExpressionsLogicOperator' => [ + 'description' => 'The relationship between the trigger conditions that are specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet their trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered only if one of the metrics in the multi-metric alert rule meets its trigger condition.'."\n", + 'type' => 'string', + 'example' => '&&', + ], + 'HybridMonitorNamespace' => [ + 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", + 'type' => 'string', + 'example' => 'aliyun-test', + ], + 'HybridMetrics' => [ + 'description' => 'The Hybrid Cloud Monitoring metrics.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The reference ID of the metric in the metric expression.'."\n", + 'type' => 'string', + 'example' => 'a', + ], + 'Expression' => [ + 'description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression is written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", + 'type' => 'string', + 'example' => '(a+b)/2', + ], + 'MetricName' => [ + 'description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", + 'type' => 'string', + 'example' => 'AliyunSmq_NumberOfMessagesVisible', + ], + 'Statistic' => [ + 'description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: The average value of all metric values within a specified interval is calculated.'."\n" + .'* Minimum: The minimum value of all metric values within a specified interval is calculated.'."\n" + .'* Maximum: The maximum value of all metric values within a specified interval is calculated.'."\n", + 'type' => 'string', + 'example' => 'Average', + ], + 'Dimensions' => [ + 'description' => 'The metric dimensions. This parameter is used to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'example' => 'queue', + ], + 'DimensionValue' => [ + 'description' => 'The key of the metric dimension.'."\n", + 'type' => 'string', + 'example' => 'testQueue', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'PromQL' => [ + 'description' => 'The PromQL statement of Hybrid Cloud Monitoring.'."\n", + 'type' => 'string', + 'example' => '(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)', + ], + ], + ], + ], + ], + ], + ], + ], + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125348', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + '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****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'alarmtask****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test alarm task.', + ], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'MemoryUtilization', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + ], + ], + [ + 'name' => 'Statistics', + 'in' => 'query', + 'schema' => [ + 'description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Average', + ], + ], + [ + 'name' => 'Threshold', + 'in' => 'query', + 'schema' => [ + 'description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'ComparisonOperator', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" + .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" + .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" + .'* If the metric value is less than the threshold, set the value to `<`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '>=', + ], + ], + [ + 'name' => 'EvaluationCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'Effective', + 'in' => 'query', + 'schema' => [ + 'description' => 'The effective period of the event-triggered task.'."\n" + ."\n" + .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" + ."\n" + .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + .'* ?: No value is specified.'."\n" + ."\n" + .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" + .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" + .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TZ=+00 * * 1-2 * * ?', + ], + ], + [ + 'name' => 'AlarmActions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Dimensions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The metric dimensions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension of the metric.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => [ + 'description' => 'The key of dimension N that you want to associate with the metric. The valid values of Dimension.N.DimensionKey vary based on the value of MetricType.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" + .' * device: the NIC type.'."\n" + .' * state: the status of the TCP connection.'."\n" + .' * rulePool: the specified server group for the ALB qps metric.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'device', + ], + '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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + [ + 'name' => 'Expressions', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => [ + 'description' => 'The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CpuUtilization', + ], + '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' => '>=', + ], + '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', + ], + 'Statistics' => [ + 'description' => 'The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Average', + ], + 'Threshold' => [ + 'description' => 'The thresholds of the metric values 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', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => [ + 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" + ."\n" + .'Default value: `&&`.', + 'type' => 'string', + 'required' => false, + 'example' => '&&', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', + ], + ], + 'description' => '', + ], + ], + ], + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125397', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125352', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125349', + 'abilityTreeNodes' => [ + 'FEATUREessBFLAJQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => [ + 'description' => 'The ID of the event-triggered task.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234886', + 'abilityTreeNodes' => [ + 'FEATUREessACRSW1', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group to which the instance refresh task belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + '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****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + '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', + ], + ], + [ + '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 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****', + ], + ], + [ + 'name' => 'InstanceRefreshTaskIds', + '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, + ], + ], + ], + 'responses' => [ + 200 => [ + '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', + ], + ], + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234862', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + 'FEATUREess8Q01K5', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\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. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'MinHealthyPercentage', + 'in' => 'query', + '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', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'MaxHealthyPercentage', + 'in' => 'query', + '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" + ."\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', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'DesiredConfiguration', + 'in' => 'query', + 'style' => 'flat', + '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" + ."\n" + .'> '."\n" + ."\n" + .'* After the instance refresh task is complete, the active scaling configuration uses the image specified by this parameter.'."\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" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: the default version of the template.'."\n" + .'* Latest: the latest version of the template.'."\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" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter supports only scaling groups of the ECI type.'."\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, + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SkipMatching', + 'in' => 'query', + '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', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Checkpoints', + '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", + '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", + '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" + ."\n" + .'> Requires a small to large setting, and the last progress percentage needs to be 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'CheckpointPauseTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The duration of the pause when the refresh task checkpoint is entered.'."\n" + ."\n" + .'* Unit: minutes'."\n" + .'* Valid values: 1 to 2880.'."\n" + .'* Default: 60.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + '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' => '', + ], + ], + ], + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '234868', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance refresh task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ir-aca123sf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CancelInstanceRefresh', + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '234874', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance refresh task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ir-a12ds234fasd*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]', + 'title' => 'RollbackInstanceRefresh', + ], + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '234876', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance refresh task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ir-a12ds234fasd*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'SuspendInstanceRefresh', + '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', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '234877', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceRefreshTaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance refresh task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ir-a12ds234fasd*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ResumeInstanceRefresh', + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1eyv4qn8ssgv43****', + ], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the lifecycle hook. Each lifecycle hook name must be unique within a scaling group. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + ."\n" + .'If you do not specify this parameter, the value of the LifecycleHookId parameter is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lifecyclehook****', + ], + ], + [ + 'name' => 'LifecycleTransition', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'* SCALE_OUT'."\n" + .'* SCALE_IN'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'SCALE_OUT', + ], + ], + [ + 'name' => 'DefaultResult', + 'in' => 'query', + 'schema' => [ + 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to scale-in or scale-out requests.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" + ."\n" + .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. As a result, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out.'."\n" + ."\n" + .'Default value: CONTINUE.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CONTINUE', + ], + ], + [ + 'name' => 'HeartbeatTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n" + ."\n" + .'Default value: 600.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'NotificationMetadata', + 'in' => 'query', + 'schema' => [ + 'description' => 'The notification metadata that is sent when the lifecycle hook takes effect. This helps you manage and categorize notifications in an efficient manner. If you specify this parameter, you must specify the NotificationArn parameter. The parameter value cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'If you use the NotificationArn parameter to specify a public or customOOS template, the value of the NotificationMetadata parameter must be a JSON string that contains the OOS template parameters. For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Some parameters defined in your OOS template have default values. When you specify the NotificationMetadata parameter, specify parameters that do not have default values. If you specify parameters that have default values, the default values are overwritten. However, the default values of the following parameters must be retained to obtain information about scaling activities that are in progress:'."\n" + ."\n" + .'* `regionId`: the region ID of the scaling activity that is in progress. Default value: ${regionId}.'."\n" + .'* `instanceIds`: the IDs of ECS instances that are scaled in in the scaling activity. Default value: ${instanceIds}.'."\n" + .'* `lifecycleHookId`: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n" + .'* `lifecycleActionToken`: the token of the lifecycle action. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n" + .'* `scalingGroupId`: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n" + ."\n" + .'> You can obtain template parameter information in the [OOS console](https://oos.console.aliyun.com/).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test lifecycle hook.', + ], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the value must be in one of the following formats:'."\n" + ."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of the Alibaba Cloud account. IDs of Resource Access Management (RAM) users are not supported.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'LifecycleHookId' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'example' => 'ash-bp1at9ufhmcf9cmy****', + ], + ], + 'description' => '', + ], + ], + ], + '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" + ."\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" + ."\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" + ."\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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125362', + 'abilityTreeNodes' => [ + 'FEATUREessKFTMD6', + ], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the lifecycle hook that you want to modify.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ash-bp1fxuqyi98w0aib****', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the lifecycle hook that you want to modify.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_SCALE_IN', + ], + ], + [ + 'name' => 'DefaultResult', + 'in' => 'query', + 'schema' => [ + 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook ends. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to scaling requests.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" + ."\n" + .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for the lifecycle hook that you want to modify, Auto Scaling immediately performs the action after the lifecycle hook that you want to modify ends. As a result, other lifecycle hooks end ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks end.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CONTINUE', + ], + ], + [ + 'name' => 'HeartbeatTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The period of time before the lifecycle hook ends. Auto Scaling performs the specified action after the lifecycle hook ends. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'You can call the RecordLifecycleActionHeartbeat operation to prolong the length of a lifecycle hook. You can also call the CompleteLifecycleAction operation to end a lifecycle hook ahead of schedule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'LifecycleTransition', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'* SCALE_OUT'."\n" + .'* SCALE_IN'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SCALE_IN', + ], + ], + [ + 'name' => 'NotificationMetadata', + 'in' => 'query', + 'schema' => [ + 'description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'Auto Scaling sends the value specified for the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The NotificationMetadata parameter takes effect only after you specify the NotificationArn parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" + ."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'LifecycleHookStatus', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The status into which you want to put the lifecycle hook. Valid values:'."\n" + ."\n" + .'* Active'."\n" + .'* InActive'."\n" + ."\n" + .'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n" + ."\n" + .'> By default, a lifecycle hook is in the Active state after you create it.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125347', + 'abilityTreeNodes' => [ + 'FEATUREess54US0Q', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lifecyclehook****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + [ + 'name' => 'LifecycleHookIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the lifecycle hooks that you want to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the lifecycle hook that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ash-bp1at9ufhmcf9cmy****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + ], + 'TotalCount' => [ + 'description' => 'The total number of lifecycle hooks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'LifecycleHooks' => [ + 'description' => 'Details about the lifecycle hooks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the lifecycle hook.'."\n", + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => [ + 'description' => 'The next action that is performed after the lifecycle hook times out.'."\n", + 'type' => 'string', + 'example' => 'CONTINUE', + ], + 'LifecycleHookId' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'example' => 'ash-bp19d1032y9kij96****', + ], + 'LifecycleHookName' => [ + 'description' => 'The name of the lifecycle hook.'."\n", + 'type' => 'string', + 'example' => 'lifecyclehook****', + ], + 'LifecycleTransition' => [ + 'description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", + 'type' => 'string', + 'example' => 'SCALE_OUT', + ], + 'NotificationMetadata' => [ + 'description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.'."\n", + 'type' => 'string', + 'example' => 'Test Lifecycle Hook.', + ], + 'NotificationArn' => [ + 'description' => 'The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter must be in one of the following formats:'."\n" + ."\n" + .'* If you do not create a notification rule, specify the value in the `acs:ess:{region-id}:{account-id}:null/null` format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" + .'* If you specify an event bus as the notification recipient, specify the value in the `acs:eventbridge:{region-id}:{account-id}:eventbus/default` format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n" + .'* templatename: the name of the OOS template.'."\n", + 'type' => 'string', + 'example' => 'acs:ess:cn-beijing:161456884340****:null/null', + ], + 'HeartbeatTimeout' => [ + 'description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + 'LifecycleHookStatus' => [ + 'description' => 'The status of the lifecycle hook. Valid values:'."\n" + ."\n" + .'* Active: The lifecycle hook is enabled.'."\n" + .'* InActive: The lifecycle hook is disabled.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + ], + ], + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125371', + 'abilityTreeNodes' => [ + 'FEATUREessKFTMD6', + ], + ], + 'parameters' => [ + [ + 'name' => 'lifecycleHookId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ash-bp1fxuqyi98w0aib****', + ], + ], + [ + 'name' => 'lifecycleActionToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The action token of the lifecycle hook. You can obtain the token from the details page of the Simple Message Queue (SMQ, formerly MNS) queue specified for the lifecycle hook.'."\n" + ."\n" + .'You can also call the [DescribeLifecycleActions](~~459333~~) operation to obtain the action token of the lifecycle hook.'."\n" + ."\n" + .'If you specified an SMQ topic for the lifecycle hook, you can obtain the token from the MNS topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'F324B880-900E-4968-85DD-81691113****', + ], + ], + [ + 'name' => 'heartbeatTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time window during which the ECS instance stays in a Pending state. When the time window ends, Auto Scaling executes the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call this operation to extend the time window during which the ECS instance stays in a Pending state. You can also call the [CompleteLifecycleAction](~~459335~~) operation to remove the ECS instance from the Pending state ahead of schedule.'."\n" + ."\n" + .'Default value: 600.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125398', + 'abilityTreeNodes' => [ + 'FEATUREess54US0Q', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingActivityId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asa-bp17mug9t0pegagw****', + ], + ], + [ + 'name' => 'LifecycleActionStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the lifecycle action. Valid values:'."\n" + ."\n" + .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" + .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n" + .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Pending', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" + ."\n" + .'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAcSz4VTb1Nq****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => 'The query token returned in this call.'."\n", + 'type' => 'string', + 'example' => 'AAAAAcSz4VTb1Nq****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3', + ], + 'TotalCount' => [ + 'description' => 'The total number of the queried lifecycle actions.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'MaxResults' => [ + 'description' => 'The maximum number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'LifecycleActions' => [ + 'description' => 'The actions of the lifecycle hook.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'LifecycleHookId' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'example' => 'ash-bp18uoft0deax0f7****', + ], + 'LifecycleActionToken' => [ + 'description' => 'The token of the lifecycle hook action.'."\n", + 'type' => 'string', + 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB', + ], + 'LifecycleActionStatus' => [ + 'description' => 'The status of the lifecycle hook action.'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'LifecycleActionResult' => [ + 'description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" + .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n", + 'type' => 'string', + 'example' => 'CONTINUE', + ], + 'InstanceIds' => [ + 'description' => 'The IDs of the ECS instances on which the lifecycle hook takes effect'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ECS instance on which the lifecycle hook takes effect'."\n", + 'type' => 'string', + 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125379', + 'abilityTreeNodes' => [ + 'FEATUREessKFTMD6', + ], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ash-bp14g3ee6bt3sc98****', + ], + ], + [ + 'name' => 'LifecycleActionToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token of the lifecycle action. You can obtain the token from the Simple Message Queue (SMQ, formerly MNS) queue or topic that is specified for the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'aaaa-bbbbb-cccc-ddddd', + ], + ], + [ + 'name' => 'LifecycleActionResult', + 'in' => 'query', + 'schema' => [ + 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" + ."\n" + .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" + .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" + .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" + ."\n" + .'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n" + ."\n" + .'If multiple lifecycle hooks exist in a scaling group and the lifecycle hooks are triggered at the same time, the following rules apply:'."\n" + ."\n" + .'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to ABANDON or ROLLBACK time out, other lifecycle hooks time out ahead of schedule.'."\n" + .'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to CONTINUE, Auto Scaling performs the next action only after the last lifecycle hook times out. The action that Auto Scaling performs varies based on the value that you specify for the LifecycleActionResult parameter of the lifecycle hook that last times out.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CONTINUE', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-qingdao', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125343', + 'abilityTreeNodes' => [ + 'FEATUREessZQ2TYX', + ], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ash-bp14g3ee6bt3sc98****', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the lifecycle hook.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lifecyclehook****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125368', + 'abilityTreeNodes' => [ + 'FEATUREess6E26FJ', + 'FEATUREessFY8KDA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding formats have the following meanings:'."\n" + ."\n" + .'* `region-id`: the region ID of the scaling group.'."\n" + .'* `account-id`: the ID of the Alibaba Cloud account.'."\n" + .'* `queuename`: the name of the SMQ queue.'."\n" + .'* `topicname`: the name of the SMQ topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', + ], + ], + [ + 'name' => 'NotificationTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n" + ."\n" + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n" + ."\n" + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + ], + 'required' => true, + 'maxItems' => 12, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'TimeZone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UTC+8', + ], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + ], + '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' => '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125333', + 'abilityTreeNodes' => [ + 'FEATUREess6E26FJ', + 'FEATUREessFY8KDA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify a Simple Message Queue (SMQ) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', + ], + ], + [ + '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', + ], + 'required' => true, + 'maxItems' => 12, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'TimeZone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UTC+8', + ], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'PlainText', + ], + ], + ], + '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' => '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125360', + 'abilityTreeNodes' => [ + 'FEATUREess6E26FJ', + 'FEATUREessFY8KDA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + '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****', + ], + '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', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125346', + 'abilityTreeNodes' => [ + 'FEATUREessJ2FJEV', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ queue as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of the scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud cloud.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteNotificationConfiguration', + ], + 'DescribeNotificationTypes' => [ + 'summary' => 'Queries notification types. You can call the DescribeNotificationTypes operation to query the types of notifications on scaling events or resource changes occurred in your scaling groups. Notifications are triggered in scenarios such as successful scale-out events, successful scale-in events, expiration of scheduled tasks, and partially successful scale-out events.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125339', + 'abilityTreeNodes' => [ + 'FEATUREessFY8KDA', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + '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', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '221453', + 'abilityTreeNodes' => [ + 'FEATUREessO4WOGN', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1f2f6oxc2*******', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '0189C6CB-07BA-5AFE-B533-D93892324774', + ], + 'ReportId' => [ + 'description' => 'The unique ID of the diagnostic report.'."\n", + 'type' => 'string', + 'example' => 'dr-uf6enpbnri1xhcy9qc7s', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]', + 'title' => 'CreateDiagnoseReport', + ], + 'DescribeDiagnoseReports' => [ + 'summary' => 'Queries the diagnostic reports.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221362', + 'abilityTreeNodes' => [ + 'FEATUREessA4Z14P', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-shenzhen', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-2vcis7yglxtm*****', + ], + ], + [ + 'name' => 'ReportIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the diagnostic report.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dr-j6c7wvdzk5103bkm8cx4', + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996', + ], + 'Reports' => [ + 'description' => 'The diagnostic reports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The diagnostic report.'."\n", + 'type' => 'object', + 'properties' => [ + 'UserId' => [ + 'description' => 'The user ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => '161456884*******', + ], + 'RegionId' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'ScalingGroupId' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'example' => 'asg-bp124uve5iph3*****', + ], + 'Details' => [ + 'description' => 'The details of the diagnostic report.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DiagnoseType' => [ + 'description' => 'The type of the diagnostic item. Valid values:'."\n" + ."\n" + .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account at the China site (aliyun.com) is greater than or equal to CNY 100.'."\n" + .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" + .'* VSwitch: Checks whether a specific vSwitch can work as expected. For example, if a vSwitch is deleted, the vSwitch cannot provide services and an exception occurs.'."\n" + .'* SecurityGroup: Checks whether a specific security group can work as expected. For example, if a security group is deleted, the security group cannot provide services and an exception occurs.'."\n" + .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" + .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the ALB instances associated with the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the NLB instances associated with the scaling group has reached the upper limit.'."\n", + 'type' => 'string', + 'example' => 'AccountArrearage', + ], + 'ResourceId' => [ + 'description' => 'The ID of the resource.'."\n", + 'type' => 'string', + 'example' => 'sg-280ih****', + ], + 'Status' => [ + 'description' => 'The status of the diagnostic item. Valid values:'."\n" + ."\n" + .'* Normal: The diagnostic result is normal.'."\n" + .'* Warn: The diagnostic result is warning.'."\n" + .'* Critical: The diagnostic result is critical.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'ErrorCode' => [ + 'description' => 'The error code of the diagnostic item. Valid values:'."\n" + ."\n" + .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" + .'* SecurityGroupNotFound: The security group does not exist.'."\n" + .'* KeyPairNotFound: The key pair does not exist.'."\n" + .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" + .'* AccountArrearage: Your account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is less than CNY 100.'."\n" + .'* ElasticStrengthAlert: The inventory levels are lower than expected.'."\n", + 'type' => 'string', + 'example' => 'VSwitchIdNotFound', + ], + ], + 'description' => '', + ], + ], + 'ReportId' => [ + 'description' => 'The ID of the diagnostic report.'."\n", + 'type' => 'string', + 'example' => 'dr-bp14p0cjp7wvjob5l6hk', + ], + 'ProcessStatus' => [ + 'description' => 'The status of the diagnostic report. Valid values:'."\n" + ."\n" + .'* processing: The diagnosis is in progress.'."\n" + .'* Finished: The diagnosis is complete.'."\n", + 'type' => 'string', + 'example' => 'Finished', + ], + 'DiagnoseStatus' => [ + 'description' => 'The status of the diagnostic item. Only the severe status is displayed in the diagnostic report. Valid values:'."\n" + ."\n" + .'* Normal: The diagnostic result is normal.'."\n" + .'* Warn: The diagnostic result is warning.'."\n" + .'* Critical: The diagnostic result is critical.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'CreationTime' => [ + 'description' => 'The time when the diagnostic report was created.'."\n", + 'type' => 'string', + 'example' => '2024-08-23T02:22:30Z', + ], + ], + ], + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'TotalCount' => [ + 'description' => 'The total number of diagnostic reports.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + ], + ], + ], + ], + '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', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region to which the scaling group belongs.', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-qingdao', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.', + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'ID of the request', + 'type' => 'string', + 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', + ], + 'Details' => [ + 'description' => 'The diagnostic reports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The diagnostic report.'."\n", + 'type' => 'object', + 'properties' => [ + 'DiagnoseType' => [ + 'description' => 'The type of the diagnostic item. Valid values:'."\n" + ."\n" + .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" + .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account is sufficient.'."\n" + .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" + .'* VSwitch: Checks whether the vSwitch is available. If the specified vSwitch is deleted, specify an existing vSwitch for the scaling group.'."\n" + .'* SecurityGroup: Checks whether the security group is available. If the specified security group is deleted, specify an existing security group for the scaling group.'."\n" + .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" + .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n", + 'type' => 'string', + 'example' => 'SecurityGroup', + ], + 'ResourceId' => [ + 'description' => 'The resource ID corresponding to the diagnostic result.', + 'type' => 'string', + 'example' => 'sg-280ih****', + ], + 'Status' => [ + 'description' => 'Status of the diagnostic item. Possible values:'."\n" + ."\n" + .'- Normal: The diagnostic result is normal.'."\n" + ."\n" + .'- Warn: The diagnostic result is a warning.'."\n" + ."\n" + .'- Critical: The diagnostic result is critical.', + 'type' => 'string', + 'example' => 'Normal', + ], + 'ErrorCode' => [ + 'description' => 'The error code of the diagnostic item. Valid values:'."\n" + ."\n" + .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" + .'* SecurityGroupNotFound: The security group does not exist.'."\n" + .'* KeyPairNotFound: The key pair does not exist.'."\n" + .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" + .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" + .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" + .'* AccountArrearage: Your account has an overdue payment.'."\n" + .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is insufficient.'."\n" + .'* ElasticStrengthAlert: The inventory levels are lower than required.'."\n", + 'type' => 'string', + 'example' => 'AccountArrearage', + ], + ], + ], + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125322', + 'abilityTreeNodes' => [ + 'FEATUREessBFHJ1B', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1fo0dbtsbmqa9h****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the ECS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-28wt4****', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to asynchronously put the ECS instance into the Standby state. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ScalingActivityId' => [ + 'title' => '异步调用伸缩活动ID', + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-2zeb04oym05qaceq****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125359', + 'abilityTreeNodes' => [ + 'FEATUREessBFHJ1B', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1fo0dbtsbmqa9h****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ECS instance. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-28wt4****', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove the instance from the Standby state in an asynchronous manner. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ScalingActivityId' => [ + 'title' => '异步调用伸缩活动ID', + 'description' => 'The ID of the scaling activity.'."\n", + 'type' => 'string', + 'example' => 'asa-2zeb04oym05qaceq****', + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125328', + 'abilityTreeNodes' => [ + 'FEATUREessPV8ZVU', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.', + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => [ + 'description' => 'The ID of the scaling activity.', + 'type' => 'string', + 'example' => 'asa-kjgffgdfadah****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + ], + ], + ], + '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', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp1ap6bro51a7fsa****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', + ], + ], + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125377', + 'abilityTreeNodes' => [ + 'FEATUREessBFHJ1B', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'ProtectedFromScaleIn', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the ECS instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the ECS instances.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-28wt4****', + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125375', + 'abilityTreeNodes' => [ + 'FEATUREessZ1KWHS', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The language for the response. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" + ."\n" + .'* zh-CN: Chinese'."\n" + .'* en-US: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'Default value: zh-CN.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + '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', + ], + ], + ], + ], + ], + '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', + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125392', + 'abilityTreeNodes' => [ + 'FEATUREessXN6KX4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to scalinggroup.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'scalinggroup', + ], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the Auto Scaling resource.', + 'type' => 'string', + 'required' => false, + 'example' => 'asg-2zej7nf7hea77k5a****', + ], + 'required' => true, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags that you want to add to the Auto Scaling resources.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag that you want to add to the Auto Scaling resources.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n" + ."\n" + .'You can specify empty strings as tag values. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + 'Propagate' => [ + 'description' => 'Specifies whether to propagate the tag that you want to add. Valid values:'."\n" + ."\n" + .'* true: propagates the tag to new instances.'."\n" + .'* false: does not propagate the tag to any instance.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '74C4E313-8570-479F-8791-DC25360D****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'description' => '* You can attach up to 20 tags to a scaling group.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** Before you attach tags to a specific Auto Scaling resource, Alibaba Cloud automatically verifies the current number of tags attached to that resource. In the event the proposed addition would exceed the maximum allowed number of tags, an error message will be promptly returned after you call this operation.'."\n" + ."\n" + .'* If you set `Tags.Propagate` to `true`, any tags attached to your scaling group will be automatically propagated to new instances that are subsequently created in the scaling group, without affecting existing instances.'."\n" + ."\n" + .'* If both the scaling configuration and the scaling group have tags attached, and tag propagation from the scaling group is enabled, the tags of newly created instances comply with the following rules:'."\n" + ."\n" + .' * Instances set to join the scaling group will inherit the following tags: tags attached to the scaling configuration that initiates the instance creation and tags attached to the scaling group that are allowed to propagate to these instances upon instance creation.'."\n" + .' * If the tag keys of the scaling configuration and those attached to the scaling group and propagated to the instances are identical, the tags attached to the scaling group and propagated to the instances will be overwritten by the tags of the scaling configuration.'."\n", + ], + '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, + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125327', + 'abilityTreeNodes' => [ + 'FEATUREessXN6KX4', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to scalinggroup.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'scalinggroup', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-bp17xb4x1vr29lgt****', + ], + 'required' => true, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'TagKeys', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag keys.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]', + 'title' => 'UntagResources', + ], + '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', + ], + '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 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', + '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****', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + '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', + ], + ], + ], + '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', + ], + ], + ], + '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', + ], + ], + ], + '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', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREessZ1KWHS', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the region where Auto Scaling is required.'."\n" + ."\n" + .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'VerifyUser', + ], + 'VerifyAuthentication' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'Uid', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of your Alibaba Cloud account.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12345678123*****', + ], + ], + [ + 'name' => 'OnlyCheck', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to check only the authorization status. Valid values:'."\n" + ."\n" + .'* true: checks only the authorization status. The service-linked role is not created.'."\n" + .'* false (default): checks the authorization status and resource usage.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'UserNotAuthorizeEss', + 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREessZ1KWHS', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'MaxNumberOfScheduledTasks' => [ + 'description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '70', + ], + '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' => '', + ], + ], + ], + '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' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '201544', + 'abilityTreeNodes' => [ + 'FEATUREessBFHJ1B', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp109k5j3dum1ce6****', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'Entrusted', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to allow the scaling group to manage the lifecycles of the manually added ECS instances. Valid values:'."\n" + ."\n" + .'* true: allows the scaling group to manage the lifecycles of the manually added ECS instances. The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" + .'* false: does not allow the scaling group to manage the lifecycles of the manually added ECS instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" + ."\n" + .'> You can specify this parameter only for ECS instances that are manually added to the scaling group.'."\n", + 'type' => 'boolean', + 'required' => false, + 'docRequired' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp109k5j3dum1ce6****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '208814', + 'abilityTreeNodes' => [ + 'FEATUREessFY8KDA', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp18p2yfxow2dloq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + 'ScaleStatuses' => [ + 'description' => 'The status of the scaling activities that trigger text message, internal message, or email-based notifications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n" + ."\n" + .'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n" + .'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n" + .'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", + 'type' => 'string', + 'example' => 'ScaleSuccessful', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeAlertConfiguration', + ], + 'ModifyAlertConfiguration' => [ + 'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '208812', + 'abilityTreeNodes' => [ + 'FEATUREess6E26FJ', + 'FEATUREessLTO4TI', + ], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1eyv4qn8ssgv43****', + ], + ], + [ + 'name' => 'ScaleStatuses', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The status of the scaling activities that prompt text message or email notifications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The status of the scaling activity that prompts text message or email notifications. Valid values:'."\n" + ."\n" + .'* ScaleSuccessful: The scaling activity is successful.'."\n" + .'* ScaleRejected: The scaling activity is rejected.'."\n" + .'* ScaleFailed: The scaling activity failed.'."\n" + ."\n" + .'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ScaleSuccessful', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyAlertConfiguration', + ], + 'DescribeInstanceCreateAndDeleteStatistics' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221449', + 'abilityTreeNodes' => [ + 'FEATUREessJ54CHK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-2ze4057nqfbxxxxxxxx', + ], + ], + [ + '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", + ], + ], + [ + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221690', + 'abilityTreeNodes' => [ + 'FEATUREessHEBR5R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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", + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-2zee0wsy0zkdxxxxx', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221688', + 'abilityTreeNodes' => [ + 'FEATUREessHEBR5R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp15oubotmrq11xe****', + ], + ], + [ + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221691', + 'abilityTreeNodes' => [ + 'FEATUREessHEBR5R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + 'name' => 'ScalingRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prediction scaling rule.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asr-bp1dp8yd9f8xxxxx', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221689', + 'abilityTreeNodes' => [ + 'FEATUREessHEBR5R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + '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", + ], + ], + [ + '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", + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'asg-bp1igpak5ft1flyp****', + ], + ], + [ + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + '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', + ], + ], + [ + 'name' => 'ReportId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the diagnostic report.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dr-j6c7wvdzk5103xxxxx', + ], + ], + ], + '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****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteDiagnoseReport', + ], + 'DescribeScalingActivityStatistics' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221448', + 'abilityTreeNodes' => [ + 'FEATUREessL0GZCK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scaling group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asg-8vbje5pofxxxxxxxx', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + [ + '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', + ], + ], + ], + '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' => '', + ], + ], + ], + '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', + ], + ], +]; |
